Django Unique Together(带有外键)

25 浏览
0 Comments

Django Unique Together(带有外键)

我有一个情况,我想使用unique_together的元选项来强制执行某个规则,这是中间模型:

class UserProfileExtension(models.Model):
    extension = models.ForeignKey(Extension, unique=False)
    userprofile = models.ForeignKey(UserProfile, unique=False)
    user = models.ForeignKey(User, unique=False)  
    class Meta:
        unique_together = (("userprofile", "extension"),
                           ("user", "extension"),
                           # 如何强制UserProfile的Client和Extension唯一?显然这个方法不可行,但在中间模型中是否有可能实现这个想法
                           ("userprofile__client", "extension"))

这是UserProfile:

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    client = models.ForeignKey(Client)

谢谢。

0