marcelo.delta
marcelo.delta

Reputation: 3072

Django - Column 'user_id' cannot be null

An error occurs when I try to save the data.

Column 'user_id' cannot be null.

Below are the settings I'm using for the Model

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

Serializer

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

View

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

Upvotes: 2

Views: 681

Answers (1)

Piyush Maurya
Piyush Maurya

Reputation: 2015

Your field in XML model is user, therefore in serializer use:

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

Also, in view, pass data as:

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

It will work. Always use same name in serializer fields as they are in you model.

Upvotes: 3

Related Questions