現在、DRF に基づいて API を作成しています。次のようなモデルがあります。
class Task(models.Model):
name = models.CharField(max_length = 255)
completed = models.BooleanField(default = False)
description = models.TextField()
text = models.TextField(blank = False, default = "this is my text" )
def __unicode__(self):
return self.name
このモデルに対応するシリアライザーは次のとおりです。
class TaskSerializer(serializers.ModelSerializer):
class Meta:
model = Task
fields = ('name','description','completed','text')
私の質問は、データを取得しながらモデルの「名前」フィールドを検証したいということです。たとえば、Django フォームに似た Python コードを使用して、ユーザーの姓または名のチェックを終了することができます。
def clean_name(self):
name = form.cleaned_data.get('name')
first,second = name.split(' ')
if second is None:
raise forms.ValidationError("Please enter full name")
Serializers.serializer クラスで「validate_(fieldname)」と呼ばれるものを知っています。しかし、これを代わりに Serializers.ModelSerializer で使用したい (Django のカスタム フォーム検証と同様)。