Django的OneToOneField或ForeignKey?

卡马尔邦加

我的models.py

class User:
  // fields ...

class Post:
  // fields ...

class Comment:
  news = models.ForeignKey(Post)
  user = models.???(User)

每个Post可以具有任意数量的Comments。但是对于每个Post用户,我只希望一个用户只有一个Comment我该如何建模?

我不能这样做,user = models.OneToOneField(User)因为在这种情况下,aUser只能在所有Posts中发表一次评论

我也不能这样做,user = models.ForeignKey(User)因为在那种情况下,aUser可以在Post我不想要的单张上发布任意数量的评论

t

您对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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django OneToOneField Unicode方法

来自分类Dev

在Django中使用OneToOneField

来自分类Dev

Django访问OneToOneField

来自分类Dev

Django的:OneToOneField-RelatedObjectDoesNotExist

来自分类Dev

Django访问OneToOneField

来自分类Dev

在Django中使用OneToOneField

来自分类Dev

Django OneToOneField和信号

来自分类Dev

OneToOneField 不工作 django

来自分类Dev

Django onetoonefield不保存实例

来自分类Dev

Django:具有OneToOneField的ModelForm

来自分类Dev

Django OneToOneField,ManyToManyField,外键

来自分类Dev

Django从ManyToManyField反向查找OneToOneField

来自分类Dev

Django onetoonefield不保存实例

来自分类Dev

如何更新django'user的OneToOneField

来自分类Dev

django:ForeignKey和实例

来自分类Dev

Django查询ForeignKey对象

来自分类Dev

特定queryset django的ForeignKey

来自分类Dev

django ForeignKey在for循环中

来自分类Dev

Django Multiple ForeignKey导航

来自分类Dev

Django中具有OneToOneField的ModelForm

来自分类Dev

无法使用Django REST发布OneToOneField

来自分类Dev

django何时运行OneToOneField的查询?

来自分类Dev

Python Django OneToOneField可为空值

来自分类Dev

提交表单Django后填充OneToOneField

来自分类Dev

如何使用Django Rest Framework更新OneToOneField

来自分类Dev

仅列出OneToOneField Django中的特定值

来自分类Dev

Django创建ModelForm,其中隐藏了OneToOneField,但必填

来自分类Dev

无法使用Django REST发布OneToOneField

来自分类Dev

带有OneToOneField的Django对象组合