gpt4 book ai didi

Django复合在多个模型字段上是唯一的

转载 作者:行者123 更新时间:2023-12-04 00:46:50 25 4
gpt4 key购买 nike

假设我有一个社交网络帖子、用户和喜欢的模型:

class Post(models.Model):
submitter = models.ForeignKey(User, null=False, default=None)
content = models.CharField()
date = models.DateField()

with_likes = PostLikeCountManager()
objects = models.Manager()

class Like(models.Model):
user = models.ForeignKey(User)
post = models.ForeignKey(Post)
time = models.DateTimeField(auto_now_add=True)

想想 Post 会很有帮助模型代表 Facebook邮政。现在,我想限制每个用户每个帖子的一个赞。我如何做到这一点?一种方法是在 user 的 ( post , Like ) 属性上创建复合主键类(class)。我不知道如何在 Django 中实现这一点。另一种是使用 unique=True同时在两个属性上。那可能吗?

谢谢。

最佳答案

是的,使用 unique_together :

class Like(models.Model):
user = models.ForeignKey(User)
post = models.ForeignKey(Post)
time = models.DateTimeField(auto_now_add=True)

class Meta:
unique_together = ('user', 'post')

关于Django复合在多个模型字段上是唯一的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29461892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com