을 장고 나는 다음 is_valid()
를 사용하지만 그것은 나를 거짓이 아닌 진실주는 다음 개체에 시리얼을 사용하여 파이썬 쉘에서 새 사용자 개체를 만드는 노력이손님 사용자 시리얼 라이저) (is_valid - 나는 사용자 양식을 작성하는 양식 모델을 사용하고 있지 않다 등등 그래서 나는 <code>form.is_valid()</code></p> <p>내가 온라인을 통해 가서에 배운 사용하고 있지 않다 어떤 이유로
from django.contrib.auth.models import User
from rest_framework import serializers
class UserModelSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ['id', 'username', 'email', 'password']
같은 시리얼을 생성, 또한 암호가 생성되고이 해시되지 않는다 역시 문자열 일뿐입니다.
저는 파이썬 셸에서 이렇게했습니다. (또한 너무 ID를 가지고 하나를 시도했지만 결과는 내가 다시 붙여 귀찮게하지 않았다 동일) 내가 user1_s
를 실행할 때이가
UserModelSerializer(<User: username>):
id = IntegerField(label='ID', read_only=True)
username = CharField(help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, validators=[<django.contrib.auth.validators.ASCIIUsernameValidator object>, <UniqueValidator(queryset=User.objects.all())>])
email = EmailField(allow_blank=True, label='Email address', max_length=254, required=False)
password = CharField(max_length=128)
실행 user1_s.data
user1 = User.objects.create(username='username', email='[email protected]', password='password')
user1_s = UserModelSerializer(user1)
을
{'username': u'username', 'password': u'password', 'id': 4, 'email': u'[email protected]'}
실행 user1_s = UserModelSerializer(data=user1)
실행 user1_s.is_valid()
및 False
이
을 실행 user1_s.errors
{u'non_field_errors': [u'Invalid data. Expected a dictionary, but got User.']}
을 반환 -------------------------------- --- 누군가 내가이 잘못을하고 있음을 알려주시고 나를 올바른 방향으로 안내해주십시오.
미리 감사