Quelque chose comme ceci:Comment est-ce que je peux seulement consigner conditionnellement quelque chose si c'est une certaine classe?
if self.__class__ == "User":
logging.debug("%s non_pks were found" % (str(len(non_pks))))
In [2]: user = User.objects.get(pk=1)
In [3]: user.__class__
Out[3]: <class 'django.contrib.auth.models.User'>
In [4]: if user.__class__ == 'django.contrib.auth.models.User': print "yes"
...:
In [5]: user.__class__ == 'django.contrib.auth.models.User'
Out[5]: False
In [6]: user.__class__ == 'User'
Out[6]: False
In [7]: user.__class__ == "<class 'django.contrib.auth.models.User'>"
Out[7]: False
Pourquoi vérifiez-vous le nom de la classe, plutôt que de comparer les objets de classe eux-mêmes? (Cela fonctionne même face à des classes portant le même nom dans différents modules, par exemple) – moshez
Votre méthode est meilleure en effet, je cherchais des cordes car il les comparait réellement avec elles (upvoted les vôtres). – KillianDS