gpt4 book ai didi

python - Django Rest Framework - 非字段错误自定义消息

转载 作者:行者123 更新时间:2023-11-30 23:11:02 25 4
gpt4 key购买 nike

我看过this question但这并不能真正告诉我有关非字段错误的信息。

我的模型是:

class DeviceContact(models.Model):
created = models.DateTimeField(auto_now_add=True)
contact_sid = models.CharField(max_length=75, db_index=True)
contact_name = models.CharField(max_length=200)
contact_email = models.CharField(max_length=250, db_index=True)
contact_type = models.CharField(max_length=200, default='mobile')

class Meta:
unique_together = ("contact_sid", "contact_email", "contact_name")


class DeviceContactSerializer(serializers.ModelSerializer):
class Meta:
model = DeviceContact
fields = ('contact_sid', 'contact_name', 'contact_email', 'contact_type')

unique_together 条件失败时,如何返回自定义错误消息?

最佳答案

当您在模型上设置unique_together时,序列化程序将自动 generate a UniqueTogetherValidator that is used检查它们的独特性。您可以通过查看序列化器的输出并内省(introspection) Django REST 框架自动生成的内容来确认这一点:

print(repr(DeviceContractSerializer()))

然后,您可以更改设置的验证器,以包含您的自定义UniqueTogetherValidator以及设置的自定义消息参数。

UniqueTogetherValidator(
queryset=DeviceContract.objects.all(),
fields=('contact_sid', 'contact_email', 'contact_name', ),
message='This was not a unique combination within the system, pick a different one.'
)

关于python - Django Rest Framework - 非字段错误自定义消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30386232/

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