2
と更新項目が、私はシリアライザクラスを持っているときにエラーをスロー:Djangoの残りのフレームワークUniqueValidator古いデータ
class AdministratorCreateUpdateSerializer(ModelSerializer):
class Meta:
model = Administrator
fields = [
'username',
'email',
'password',
'first_name',
'last_name',
]
username = serializers.CharField(
source='user.username',
validators=[UniqueValidator(queryset=User.objects.all())]
)
email = serializers.EmailField(
source='user.email',
validators=[UniqueValidator(queryset=User.objects.all())]
)
password = serializers.CharField(
source='user.password',
allow_blank=True,
style={'input_type': 'password'}
)
first_name = serializers.CharField(
source='user.first_name'
)
last_name = serializers.CharField(
source='user.last_name'
)
私は新しい管理者、ほかのユーザー名と電子メールの仕事のバリデータを作成する場合。
しかし、私はデータを更新します。私は古いデータを単純に書き込んで保存するだけですが、バリデーターはユーザー名と電子メールが一意でなければならないと言います。
このバリデーターを変更するには、古い値と同じではない新しい値で更新する場合のみ実行しますか?