J'ai un modèle de propriété simple sur l'un de mes modèles. Il peut appartenir à plusieurs personnes et les propriétaires actuels peuvent ajouter d'autres personnes, mais ils doivent confirmer l'invitation avant de les traiter comme un véritable propriétaire.Vérification d'un autre champ en même temps que la vérification d'une relation plusieurs-à-plusieurs
class MyOwnedThing(models.Model):
owners = models.ManyToManyField(User, through='Ownership', related_name='othings')
def is_owner(self, user):
return user in self.owners
class Ownership(models.Model):
user = models.ForeignKey(User)
myownedthing = models.ForeignKey(MyOwnedThing)
confirmed = models.BooleanField(default=False)
Le problème est MyOwnedThing.is_owner
doit vérifier que le propriétaire avait confirmé leur invitation. Y at-il un moyen simple de faire cela ou suis-je laissé faire un essai séparé/sauf autour de Ownership.objects.filter(user=u, myownedthing=mot, confirmed=True)
?