Python中文
首页
教程
问答
标签
搜索
登录
注册
不同字段的同一验证器
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>情况就是这样:</p> <p>我有两个序列化程序类,一个从另一个继承</p> <pre><code>class FatherSerializer(...): class Meta(object): model = Person fields = ('name', 'email', 'brother') name = serializers.CharField() email = serializers.EmailField() brother = serializers.CharField() def validate_email(self, value): if Person.objects.filter(email=value).exists(): raise serializers.ValidationError('Such email already exists') return value def validate_brother(self, value): if not Person.objects.filter(name=value).exists(): raise serializers.ValidationError('Such person doesnt exist') return Person.objects.get(name=value) class ChildSerializer(FatherSerializer): class Meta(object): model = Person fields = ('name', 'email', 'sister') sister = serializers.CharField() </code></pre> <p>我想对“姐妹”使用与“兄弟”相同的验证器。它适用于电子邮件,因为字段的名称是相同的。但是,有没有一种方法可以使同一个序列化程序适用于两个不同的字段</p> <p>我尝试了一个自定义验证器,在两个类之外实现它,并在字段的<code>validators</code>参数中使用它。但它不能正常工作,因为我希望返回的值是Person对象,但我得到的只是原始输入值(所以称为“name”)</p> <p>先谢谢你</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以在“姐妹”字段中使用FatherSerializer</p> <pre><code>sister = FatherSerializer() </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
9 回答
无法使用Django\u mssql\u后端迁移到外部hos
10 回答
无法使用Django&Python3.4连接到MySql
6 回答
无法使用Django+nginx上载媒体文件
7 回答
无法使用Django1.6导入名称模式
6 回答
无法使用Django1.7和mongodb登录管理站点
6 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
4 回答
无法使用Djangockedi验证CBV中的字段
8 回答
无法使用Djangocketditor上载图像(错误400)
6 回答
无法使用Djangocron进行函数调用
5 回答
无法使用Djangofiler djang上载文件
10 回答
无法使用Djangokronos
3 回答
无法使用Djangomssql provid
5 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
4 回答
无法使用Djangomssq迁移Django数据库
5 回答
无法使用Djangonox创建用户
10 回答
无法使用Djangopyodb从Django查询SQL Server
5 回答
无法使用Djangopython3ldap连接到ldap
6 回答
无法使用Djangoredis连接到redis
10 回答
无法使用Django中的FK创建新表
5 回答