我有以下问题:
我的模型设置类似于以下场景
class Membership(models.Model):
user = models.ForeignKey(User)
verified = models.BooleanField()
class ClubMembership(Membership):
club = models.ForeignKey(Club)
class ForumMembership(Membership):
forum = models.ForeignKey(Forum)
class Club(models.Model):
members = models.ManyToManyField(User, through='ClubMembership')
class Forum(models.Model):
members = models.ManyToManyField(User, through='ForumMembership')
(我曾经将 Membership 作为一个抽象类,但这不会让我查询基类。)我现在想查询例如尚未为特定用户验证的所有成员资格。我可以
memberships = Membership.objects.filter(verified=False)
这给了我所有已验证 = False 的成员资格列表。但是,我找不到任何方法来 1) 检查成员资格是哪个子类,以及 2) 即使我知道子类类型,我也无法访问“俱乐部”或“论坛”字段。在我查询了基类之后,无论如何访问基类类型,以及如何访问子类字段?