簡體   English   中英

基於同一模型中其他字段的REST Django字段驗證器

[英]REST django field validator based on other field in same model

如何使用django ModelSerializer使用基於同一模型中其他字段的驗證器來驗證模型屬性。 樣例代碼:

class LeadSerializer(serializers.ModelSerializer):
    class Meta:
        model = Lead
        fields = (
            'name','mobile','email','source',
            'referred_by_biz',
            'referred_by_ap')

如果輸入的源是“ B”,則referred_by_biz”(外鍵值)不能為空,如果源是“ A”,則“ referred_by_ap”不能為空/空(外鍵)。 如何使用usign validate方法完成此操作? 我剛剛開始使用REST框架。 我正在使用curl獲取相同的網址。

這樣的事情可能應該工作:

def validate(self, attrs):
    if attrs['source'] == 'A' and attrs['referred_by_ap'] == '':
        raise serializers.ValidationError('referred_by_ap cannot be blank')
    if attrs['source'] == 'B' and attrs['referred_by_biz'] == '':
        raise serializers.ValidationError('referred_by_biz cannot be blank')
    return attrs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM