Django-Foreingkey关系需要字段

时间:2019-06-11 16:11:11

标签: django serialization model deserialization

我在两个模型之间具有以下外键关系:

class Text(models.Model):
    textcontent = models.CharField(max_length=100)


class Comment(models.Model):
    text = models.ForeignKey(ModelA,
                               on_delete=models.CASCADE,
                               null=True,
                               blank=True)
    commentContent = models.CharField(max_length=100)

因此,一个文本可以有多个注释,但是一个注释只能分配给一个文本。 在serializers.py中,我有以下内容:

class TextSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Text
        fields = ('url',
                  'id',
                  'comment_set'
                  )

如您所见,我还想通过'comment_set'显示属于一个文本的注释集。 但是,当我创建一个文本实例(不提供注释)时,我在命令行上得到了以下内容:

  

“评论集”:[           “这是必填栏。”       ]

为什么需要?我已将blank&null参数设置为True。 我该如何解决?

1 个答案:

答案 0 :(得分:0)

您可以在元类中将read_only_fields--[DRF-Doc]设置为

class TextSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Text
        fields = ('url', 'id', 'comment_set')
        read_only_fields = ('comment_set',)