我遇到了Django的问题。我按照教程上的步骤做了一切,但是当我在序列化器上检查is_valid时,它总是返回false。
以下是我的代码:
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')
然后我运行python manage.py shell
。接着我使用像下面这样的命令:
from belmondoapp.models import User
from belmondoapp.serializers import UserSerializer
u = User(userId="user", email="asd@gmail.com")
s = UserSerializer(data=u)
s.is_valid()
它总是返回False…为什么?我错了什么?
s.is_valid()
后,检查s.errors
。 - Andrea Corbelliniu
没有一个ID(这是你的序列化器所需要的)你应该先保存它。 - Andrea Corbelliniu.save()
时,它会添加到用户中,然后我将其传递给序列化程序,例如UserSerializer(u),现在s.data是可见的,但是当我放置UserSerialize(data=u)并且然后s.is_valid()为false...也许是因为具有相同id的用户已经存在? - Patryk Imosa