我的一个模型有一个简单的所有权设计。它可以由多个人拥有,当前所有者可以添加其他人,但他们必须在被视为真正所有者之前确认邀请。
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
需要检查所有者是否已确认他们的邀请。有没有一种简单的方法可以做到这一点,还是我要做一个单独的尝试/除了周围Ownership.objects.filter(user=u, myownedthing=mot, confirmed=True)
?