【问题标题】:Django - Column 'user_id' cannot be nullDjango - 列'user_id'不能为空
【发布时间】:2017-08-23 01:34:29
【问题描述】:

当我尝试保存数据时发生错误。

列 'user_id' 不能为空。

以下是我用于模型的设置

class XML(models.Model):
    nome_destinatario = models.CharField(max_length=255)
    cnpj_destinatario = models.CharField(max_length=15)
    user = models.ForeignKey(User)

    def __str__(self):
        return self.nome_destinatario

序列化器

class XMLCreateSerializer(serializers.ModelSerializer):
    class Meta:
        model = XML
        fields = ('nome_destinatario', 'cnpj_destinatario', 'user_id')

查看

xml_create = XMLCreateSerializer(data={'nome_emitente': 'NILVA', 'cnpj_destinatario':'5645654654','user_id': 1})

        if xml_create.is_valid():
            salvo = xml_create.save()
        else:
            salvo = xml_create.errors

【问题讨论】:

    标签: django django-models django-rest-framework


    【解决方案1】:

    您在XML 模型中的字段是user,因此在serializer 中使用:

    fields = ('nome_destinatario', 'cnpj_destinatario', 'user')
    

    另外,在view 中,将data 传递为:

    data={'nome_emitente': 'NILVA', 'cnpj_destinatario':'5645654654','user': 1}
    

    它会起作用的。在serializer 字段中始终使用与model 相同的名称。

    【讨论】:

      猜你喜欢
      • 2021-09-03
      • 1970-01-01
      • 2018-01-06
      • 2020-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-07
      相关资源
      最近更新 更多