我的models.py
:
class User:
// fields ...
class Post:
// fields ...
class Comment:
news = models.ForeignKey(Post)
user = models.???(User)
每个Post
可以具有任意数量的Comment
s。但是对于每个Post
用户,我只希望一个用户只有一个Comment
。我该如何建模?
我不能这样做,user = models.OneToOneField(User)
因为在这种情况下,aUser
只能在所有Post
s中发表一次评论。
我也不能这样做,user = models.ForeignKey(User)
因为在那种情况下,aUser
可以在Post
我不想要的单张上发布任意数量的评论。
您对unique_together
模型meta选项感兴趣:
字段名称的集合在一起必须是唯一的。
class Comment(models.Model):
news = models.ForeignKey(Post)
user = models.ForeignKey(User)
# ...
class Meta:
unique_together = ('news', 'user')
这样,您的user
字段就可以简单地是ForeignKey
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句