Disons que nous avons des modèles:Comment distendingish entre ManyToMany through-models automatiquement créés par Django et définis manuellement?
from django.db import models
class AutomaticModel(models.Model):
others = models.ManyToManyField('OtherModel')
class ManualModel(models.Model):
others = models.ManyToManyField('OtherModel', through='ThroughModel')
class OtherModel(models.Model):
pass
class ThroughModel(models.Model):
pblm = models.ForeignKey('ManualModel')
other = models.ForeignKey('OtherModel')
Après cela, nous pouvons accéder au travers des modèles via
AutomaticModel._meta.get_field('others').rel.through
et
ManualModel._meta.get_field('others').rel.through
Problème:
Si on leur donne l'une des AutomaticModel
ou ManualModel
(ou leurs champs 'others
'), comment déterminer, si le -model a été créé automatiquement ou manuellement.
Bien sûr, sauf pour tester les noms, mais cela ne correspond pas au cas général - également vérifier le contenu de models.py semble également un peu sujet aux erreurs. Et il semble qu'il n'y ait rien dans les champs __dict__
ou ailleurs.
Des indices?