gpt4 book ai didi

Django REST 框架 : Unique_together validation on Serializers

转载 作者:行者123 更新时间:2023-12-03 13:18:16 25 4
gpt4 key购买 nike

遇到问题 serializer.is_valid()返回 True如果序列化程序实例失败 unique_together模型端的约束。

有没有办法让我在序列化程序中指定强制执行 unique_together约束?

最佳答案

不幸的是,Andreas 的回答不是很完整,因为它在更新的情况下不起作用。

相反,你会想要更像:

def validate(self, attrs):
field1 = attrs.get('field1', self.object.field1)
field2 = attrs.get('field2', self.object.field2)

try:
obj = Model.objects.get(field1=field1, field2=field2)
except StateWithholdingForm.DoesNotExist:
return attrs
if self.object and obj.id == self.object.id:
return attrs
else:
raise serializers.ValidationError('field1 with field2 already exists')

这将适用于 PUT、PATCH 和 POST。

关于Django REST 框架 : Unique_together validation on Serializers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22621060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com