Après avoir essayé de faire fonctionner cela pendant un moment et de chercher autour je suis vraiment perplexe alors je poste ici ... Je veux faire des fonctions dans les classes que j'écris pour django aussi générique que possible, donc je veux utiliser getattr d'appeler des fonctions comme celle ci-dessous de manière générique:Python, Django, comment utiliser getattr (ou une autre méthode) pour appeler un objet qui a plusieurs attributs?
la façon dont je le fais qui fonctionne (de manière non générique):
from django.db.models import get_model
mymodel = get_model('appname', 'modelname')
dbobject = mymodel.objects.all()
un de mes tentatives de créer cela d'une manière générique, encore ne fonctionne pas, il renvoie quelque chose en retour mais ce n'est pas le type d'objet approprié pour que je puisse récupérer les données (c'est un appel de base de données pour django)
ret = getattr(mymodel,'objects')
dbobject = getattr(ret,'all')
merci .. ok je reçois maintenant .. Je l'avais essayé de faire quelque chose comme ça avant, mais mettais tout en un seul appel getattr, je comprends maintenant que je suis simplement appeler la partie « tout » avec le reste de la "partie précédente" en tant qu'objet dans le getattr, donc cela doit être fait séparément, merci de l'avoir éclairci ... Je pensais pouvoir faire: dbobject = getattr (model, 'objects.all')() mais cela ne fonctionnait pas donc ce genre de me confondre à partir de là – Rick