gpt4 book ai didi

django - Django 模型和 ModelForms 中的空白、空和必需

转载 作者:行者123 更新时间:2023-12-03 11:29:22 27 4
gpt4 key购买 nike

到目前为止,我还没有对 Django 的模型和表单中的空白、空值和必需项有明确的解释。

我知道每个的默认值如下:

blank = False
null = False
required = True

我也知道:
blank=True (在models.py 中使用),表示在表单级别,接受空表单 - 表单中不需要关联字段。
null=True (在models.py 中使用),表示在数据库级别,Python None值可以存储在模型中并保存(然后在数据库中作为 SQL NULL 值结束)。
required=False (在 forms.py 中使用),表示不需要关联的表单字段。

希望以上信息对其他人有用(如果逻辑上有任何缺陷,请告诉我,我会更新)。

我的问题如下:

我什么时候知道什么时候使用 blank=True对比 required=False .如果我的目标是不需要表单字段,我可以使用 blank=True 在模型中定义它,或者我可以使用 required=False 在表单中定义它.这是否意味着您可以定义 blank=True在模型中,以及在相关联的 ModelForm 中用 required=True 覆盖它?

同样相关,当您使用常规表单( forms.Form )时呢?由于表单不与模型相关联(除了通过 View 逻辑),如果它们再次相互矛盾会发生什么?

最佳答案

矛盾不重要。我认为这为 Django 应用程序的开发带来了灵活性。例如,如果您使用定义某些模型的第三方库,并且它们设置 blank=True ,但出于其他目的,您需要该字段是强制性的,然后在您的表单中,您可以在不触及第三方库代码的情况下修复它。

恕我直言,这只是为框架增加了一些灵活性,不会带来任何伤害。您可以将其用于自己的目的。矛盾并不大。

希望这可以帮助!

关于django - Django 模型和 ModelForms 中的空白、空和必需,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17199046/

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