Django OneToOneField还是ForeignKey?

Django OneToOneField还是ForeignKey?,django,django-models,model,Django,Django Models,Model,Mymodels.py: class User: // fields ... class Post: // fields ... class Comment: news = models.ForeignKey(Post) user = models.???(User) 每个Post可以有任意数量的Comments。但是对于每个帖子,我希望用户只有一条评论。我该如何建模 我不能做user=models.OneToOneField(user),因为在这种情况下用户只能在所有帖子

My
models.py

class User:
  // fields ...

class Post:
  // fields ...

class Comment:
  news = models.ForeignKey(Post)
  user = models.???(User)
每个
Post
可以有任意数量的
Comment
s。但是对于每个
帖子
,我希望用户只有一条
评论
。我该如何建模

我不能做
user=models.OneToOneField(user)
,因为在这种情况下
用户只能在所有
帖子中发表一次评论

另外,我不能做
user=models.ForeignKey(user)
,因为在这种情况下,
user
可以在一个
post
上发布任意多的评论,这不是我想要的

您对模型元选项感兴趣:

字段名集,这些字段名加在一起必须是唯一的


然后,您的
用户
字段就可以成为一个
外键

太棒了!另外,请建议我如何学习Django。我是否只是涉过了所有的调整、选项和配置?有太多的选择:(.显然,我不能在评论中提及这一点,甚至连答案都没有。有很多书和教程,但对于这一级别的问题来说,一个良好的开端总是非常广泛的。选项越多,功能就越强。
class Comment(models.Model):
    news = models.ForeignKey(Post)
    user = models.ForeignKey(User)
    # ...
    class Meta:
        unique_together = ('news', 'user')