Ich habe ein Problem mit Django. Ich habe alles so gemacht, wie es im Tutorial geschrieben wurde, aber wenn ich is_valid auf dem Serialisierer überprüfe, ist es immer falsch.Django Rest Framework Serializer ist gültig immer falsch
Hier ist mein Code:
models.py
from django.db import models
class User(models.Model):
userId = models.CharField(max_length=100)
email = models.EmailField()
serializers.py
from .models import User
from rest_framework import serializers
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'userId', 'email')
Und ich laufe dann python manage.py shell
. Dann verwende ich Befehle wie:
from belmondoapp.models import User
from belmondoapp.serializers import UserSerializer
u = User(userId="user", email="[email protected]")
s = UserSerializer(data=u)
s.is_valid()
Und es gibt immer False zurück ... Warum? Was habe ich falsch gemacht?
Überprüfen Sie 's.fehlers' nach dem Aufruf von 's.is_valid()' –
Übrigens, ich denke, dass das Problem ist, dass Ihr 'u' keine ID hat (die von Ihrem Serializer benötigt wird). Sie sollten es zuerst speichern –
Ich habe '' {'non_field_errors': ['Ungültige Daten. Erwartete ein Wörterbuch, aber bekam Benutzer. ']} '' Durch den Aufruf von s.errors –