私は自分のモデルの 1 つにシンプルな所有権設計をしています。複数のユーザーが所有することができ、現在の所有者は他のユーザーを追加できますが、実際の所有者として扱われる前に、招待を確認する必要があります。
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)
問題はMyOwnedThing.is_owner
、所有者が招待を確認したことを確認する必要があることです。それを行う簡単な方法はありますか、それとも別の try/except を実行したままOwnership.objects.filter(user=u, myownedthing=mot, confirmed=True)
ですか?