![](/img/trans.png)
[英]Django Rest Framework: ModelSerializer as field in a ModelSerializer doesn't show choices
[英]Django REST Framework - Additional field in ModelSerializer
在我的 ModelSerializer 中,我想添加必填字段re_password
。
我想在創建用戶模型期間使用它來檢查re_password
等於password
字段。
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
re_password = serializers.CharField(allow_blank=False, write_only=True)
fields = ('email','password')
def validate_password(self, password):
password, re_password = itemgetter('password', 're_password')(self.initial_data)
if not password == re_password:
raise serializers.ValidationError('Passwords must be the same.')
我的問題是,當我將re_password
添加到字段時,出現錯誤:
Field name `re_password` is not valid for model `User`.
(在這種情況下很明顯)
但是如果我不這樣做,序列化程序就不會看到我的附加字段。
我的目標是在 POST 請求中沒有re_password
字段時出現以下錯誤:
"re_password": [
"This field is required."
]
我知道我可以編寫代碼來檢查它,但也許有一種方法可以讓序列化程序做到這一點?
required
是默認的True
。 allow_blank
是默認的False
CharField
嘗試這個:
class UserSerializer(serializers.ModelSerializer):
re_password = serializers.CharField(write_only=True)
class Meta:
model = User
fields = ['email', 'password', 're_password']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.