【问题标题】:Can I add a checkbox in to Model Forms in Django even if there is no Field in DB for it即使数据库中没有字段,我可以在 Django 的模型表单中添加一个复选框吗
【发布时间】:2023-03-15 11:41:02
【问题描述】:

我有一个模型表单,我需要在其中添加一个复选框。此复选框未映射到任何数据库字段。这可能吗 ?怎么样!

【问题讨论】:

  • 你试过了吗......你遇到了什么错误?
  • @pratibha 不允许,因为这个新的复选框 BoolenField 不在模型中

标签: django python-2.7 django-models django-forms


【解决方案1】:

您可以通过 Meta 类的fields 变量指定当表单正确时将保存模型的哪些字段
因此,您可以声明您的复选框,而不是将其包含在该属性中

#your model
class Author(models.Model):
    name = models.CharField(max_length=100)
    birth_date = models.DateField(blank=True, null=True)

#your model-form
class AuthorForm(ModelForm):
    your_checkbox = forms.BooleanField(required = False,label = 'your_checkbox', ...)
    class Meta:
        model = Author
        fields = ['name',  'birth_date'] #your checkbox is missing, so it's model independent

【讨论】:

  • 嗨@xecgr 感谢您的回复。我会检查一下然后回来!
  • 它的工作。非常感谢。我可以检查一下以仅在编辑模式下而不是在添加模式下显示吗
  • 尝试做检入模板,取决于模式渲染与否
【解决方案2】:

通过在 Meta 中指定模型来定义自定义 ModelForm 并在那里声明所需的附加字段。在您的 Admin 类的表单属性设置为 YourForm 之后。

【讨论】:

  • 感谢@pratibha 会检查并回复!
猜你喜欢
  • 2013-07-19
  • 2022-01-04
  • 2013-08-13
  • 1970-01-01
  • 1970-01-01
  • 2017-04-22
  • 2011-09-25
  • 2017-11-20
  • 1970-01-01
相关资源
最近更新 更多