0
いくつかの状況では、通常のAPIView書き込み通常のビューを使用するだけで、シリアライザはユーザー入力をチェックするだけで、データベースオブジェクトとして保存されません。 しかし、時には、私は例えば、ModelSerializerの便利を使用したい:私はModelSerializerユーザー入力を使用する必要がありますか?
class User(models.Model):
phone = models.CharField(_("phone number"), max_length=11, unique=True,
validators=[
validators.RegexValidator(r'^1[34578]\d{9}$', _("phone format error"))
])
class PhoneCodeSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('phone',)
しかし、あなたが知っている、modelSerializerは、携帯電話の形式を確認し、独自のチェックだけではなく。しかし、ここで私はちょうど電話フィールドのフォーマットバリデータを使用したい、そうでなければバリデータをシリアライザにコピーしなければならない、私はそれを嫌う。それ以上に良い方法はありますか?
私は1つの電話番号、私は応答の電話番号を掲示する1つのAPIです。電話番号の形式を確認する必要があります – kotepillar
次に、別のバリデータ(つまり、既存のバリデータをコピーする)を作成する必要があります。この場合、ModelSerializerは使用できません。 –