我有一个正在逐步填写的模型,这意味着我正在制作一个表单向导。
因此,此模型中的大多数字段都是必需的,但有 null=True, blank=True
以避免在提交部分数据时引发非空错误。
我正在使用 Angular.js 和 django-rest-framework,我需要告诉 api 应该需要 x 和 y 字段,如果它们为空,它需要返回验证错误。
原文由 Cristian Rojas 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个正在逐步填写的模型,这意味着我正在制作一个表单向导。
因此,此模型中的大多数字段都是必需的,但有 null=True, blank=True
以避免在提交部分数据时引发非空错误。
我正在使用 Angular.js 和 django-rest-framework,我需要告诉 api 应该需要 x 和 y 字段,如果它们为空,它需要返回验证错误。
原文由 Cristian Rojas 发布,翻译遵循 CC BY-SA 4.0 许可协议
根据 这里 的文档,最好的选择是在 Meta 类中使用 extra_kwargs,例如,您有存储电话号码的 UserProfile 模型,并且是必需的
class UserProfileSerializer(serializers.ModelSerializer):
class Meta:
model = UserProfile
fields = ('phone_number',)
extra_kwargs = {'phone_number': {'required': True}}
为此,请确保您的模型已设置为 blank false null false,如下所示。
some_field = models.CharField(blank=False, null=False, default='Anonymous')
原文由 Sandeep Patil 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答846 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
您需要专门覆盖该字段并添加您自己的验证器。您可以在此处阅读更多详细信息 http://www.django-rest-framework.org/api-guide/serializers/#specifying-fields-explicitly 。这是示例代码。