0
현재 사람들이 직접 등록 할 수있는 REST API를 만들고 있습니다. 그리고 나는 막/복잡한 암호가 얼마나 있어야하는지에 대한 유효성 검사를 작성하려고합니다. 나에게 모델이 이미 설정된 기본 제약 조건을 모방하는 방법이있을 수 있습니까? 거기 있니? serializer.py에 대한Django Rest Framework - 기본 유효성 검사를 모방 한 기본 사용자 모델 유효성 검사를 Serializer에 제공
내 코드는 다음과 같습니다
from rest_framework import serializers
from django.contrib.auth import get_user_model
from rest_framework.reverse import reverse
User = get_user_model()
class UserSerializer(serializers.ModelSerializer):
links = serializers.SerializerMethodField()
class Meta:
model = User
fields = ('id', 'username', 'first_name', 'last_name', 'email', 'password', 'groups', 'user_permissions', 'is_staff', 'is_active', 'is_superuser', 'last_login', 'date_joined', 'links')
def get_links(self, obj):
request = self.context['request']
username = obj.get_username()
return{
'self': reverse('user-detail', kwargs={User.USERNAME_FIELD: username}, request=request)
}
def validate(self, attrs):
#...
감사
는 다른 분야에 대한 추가적인 유효성 검사기를 추가 할 수 있습니까? 또는 데이터를 채우고 유효성 검사 오류를 발생시키는 모델 양식을 만드는 것이 더 효과적입니까? – Alien13
다른 모델 수준의 유효성 검사를 사용하지 않도록 설정하는 것은 아닙니다. 추가 유효성 검사가 필요한 경우에는'validate' 메서드를 재정의하거나 serializer 내부에'validate_field_name' 메서드를 구현할 수 있습니다. – neverwalkaloner
아 맞아요, 저는 모델 메서드 .is_valid()가 데이터에서하는 유효성 검사를 복사하는 것에 대해 생각하고있었습니다. 하지만 흠 ... – Alien13