1
def validate_number_of_product(products):
if len(products) > 1:
# this may be temporary
raise ValidationError(_('Too many products.'))
class OrderAddSerializer(serializers.ModelSerializer):
products = serializers.PrimaryKeyRelatedField(
queryset=Product.objects.filter(sold=False),
write_only=True,
validators=[validate_number_of_product],
many=True, allow_empty=False,
)
# ...
私はPrimaryKeyRelatedField
とmany=True
を使用しており、フィールドを(独立して)検証する必要があります。しかし、OrderAddSerializer.is_valid()
を呼び出すときにvalidate_number_of_product
が呼び出されていないようです。これはDRFの制限ですか、私は間違って使用していますか?`many`がTrueの場合、` validators`キーワードの引数は機能しませんか?
これは参考になります。ありがとう! –