为了账号安全,请及时绑定邮箱和手机立即绑定

django:从仅限网络服务的应用程序中删除`blank=True` 是否安全?

django:从仅限网络服务的应用程序中删除`blank=True` 是否安全?

波斯汪 2021-08-11 17:23:01
我正在使用现有数据库开始一个项目。生成的模型inspectdb有(...null=True, blank=True)在各个领域。该文档提到该blank参数与 django 形式有关。我正在制作一个 Web 服务项目,使用django rest 框架和 django ORM。绝对没有MVC 的视图组件(自动生成的表单、html 模板等)。这是否意味着blank=True从我的模型中移除是安全的?
查看完整描述

3 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

可能不是。

无论您的服务是什么,您可能都希望验证数据。Django 的验证依赖于它blank=True。它不仅适用于表单和模板。从文档

blank 与验证相关。


查看完整回答
反对 回复 2021-08-11
?
三国纷争

TA贡献1804条经验 获得超7个赞

Django Rest Framework 将blank在序列化程序验证中使用模型字段上的属性。当blankis 时False,这是默认值,如果在 POST 请求中没有为此字段设置值,则 ModelSerializer 将引发 ValidationError 。

基本上,如果您blank=True从一个字段中删除并尝试为该字段创建一个没有值的记录,您将收到来自服务器的 400 响应。

什么都不会中断,只是这个请求将无法创建资源。在我的书中,我称之为保险箱。这实际上只是归结为您是否希望该字段是必需的。但既然你有null=True,那似乎也合情合理blank=True


查看完整回答
反对 回复 2021-08-11
  • 3 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信