三向建模django

Three way modeling django

我想在 Django 中为奖励函数建模。我有一个用户模型、一个展示模型和一个奖励模型。一个用户可以为一个节目获得一个奖项。我可以简单地说用户 'aaa' 获得奖励 'bbb'。但是该奖项不能与其他用户关联用于另一个节目。

我认为用户、展示和奖励需要三种方式的建模。有什么复杂的方法吗?我知道 'through' 但我认为这不是一个好工具。如果可以,请指导我如何操作?

你可以多一个模型,我就叫它UserAward

class UserAward(models.Model):
    user = models.ForeignKey(User)
    award = models.ForeignKey(Award)
    show = models.ForeignKey(Show)

当我尝试强制执行两个唯一约束时,只有一个保留下来。