将字段添加到模型中但不在表单中的 django ModelForm

     2023-02-24     140

关键词:

【中文标题】将字段添加到模型中但不在表单中的 django ModelForm【英文标题】:Add field to django ModelForm that are in the model but not in the form 【发布时间】:2015-08-31 11:41:06 【问题描述】:

我有一个 django 模型和一个 ModelForm。该模型有大约 10 个字段,但我只想用 ModelForm 为用户展示一些。所以我有这样的事情:

class Create_EventForm(ModelForm):
    class Meta:
        model = Event
        fields = ['event_name','event_datetime','event_venue','event_url','event_tags','event_zip','event_category','event_description']

但是,我无法根据这些数据创建对象,因为仍然缺少字段。在我看来,当我通过 POST 接收数据时,我正在执行以下操作之一:

if request.user.is_authenticated:
        if request.POST:
            f = Create_EventForm(request.POST)
            if f.is_valid():
                ne = f.save()

我想做的是在 f.save() 之前我想根据现有数据进行查找,我必须提取模型所需的其他数据并创建对象。知道如何做到这一点吗?

【问题讨论】:

【参考方案1】:

使用commit=False保存表单,编辑返回的实例,然后将其保存到数据库中。

if request.POST:
    f = Create_EventForm(request.POST)
    if f.is_valid():
        event = f.save(commit=False)
        event.other_value = lookup_value()
        event.save()

有关详细信息,请参阅ModelForm 的save method 上的文档。

【讨论】:

如何将类、id、占位符属性添加到 django 模型表单中的字段

】如何将类、id、占位符属性添加到django模型表单中的字段【英文标题】:Howtoaddclass,id,placeholderattributestoafieldindjangomodelforms【发布时间】:2013-10-2915:51:13【问题描述】:我有一个像下面这样的django模型models.pyclassProduct(models.Model):... 查看详情

Django:将字段添加到模型表单集

】Django:将字段添加到模型表单集【英文标题】:Django:Addfieldtomodelformset【发布时间】:2011-06-1107:04:01【问题描述】:我可以向模型表单集添加字段吗?如果您使用普通表单集但不能使用模型表单集,您似乎可以添加字段(至少... 查看详情

Django,将排除的属性添加到提交的模型表单

...511:13:37【问题描述】:我有一个模型表单,我排除了两个字段,create_date和created_by字段。现在使用save()方法时出现“NotNull”错误,因为created_by为空。我尝试在save()方法之前将用户I 查看详情

如何将类添加到 Django 表单中的字段标记

】如何将类添加到Django表单中的字段标记【英文标题】:HowtoaddaclasstoafieldtaginaDjangoform【发布时间】:2022-01-0900:54:21【问题描述】:我想将引导类添加到我的表单输入字段的标签中,我可以将类添加到输入字段但我找不到有关如... 查看详情

将模型范围的帮助文本添加到 django 模型的管理表单

...本到管理员更改表单中。注意我不是在谈论我可以在单个字段上设置的特定于字段的help_text属性。例如,在My_App中My_Model的 查看详情

使用不在模型中的字段扩展 django 表单,导致错误,只能连接列表,而不是元组

】使用不在模型中的字段扩展django表单,导致错误,只能连接列表,而不是元组【英文标题】:Extendingdjangoformwithfieldsnotinmodel,resultsinerrorthatonlylistscanbeconcatenated,nottuples【发布时间】:2019-08-0201:41:22【问题描述】:我正在完成一... 查看详情

Django 中的动态模型字段

】Django中的动态模型字段【英文标题】:DynamicmodelfieldsinDjango【发布时间】:2015-10-2102:34:08【问题描述】:我有一个模型,例如:“食物”。每一个都有一些基本信息:“名称”“卡路里”等。我想提供一个表单,用户可以在其... 查看详情

如何将引导类添加到模板中的 Django CreateView 表单字段?

】如何将引导类添加到模板中的DjangoCreateView表单字段?【英文标题】:HowtoaddbootstrapclasstoDjangoCreateViewformfieldsinthetemplate?【发布时间】:2016-01-3120:10:26【问题描述】:我正在使用DjangoCreateView,在模板中我可以单独设置标签和字段... 查看详情

django - 将字段添加到用户配置文件管理表单

】django-将字段添加到用户配置文件管理表单【英文标题】:django-addfieldtouserprofileadminform【发布时间】:2012-07-0719:27:50【问题描述】:使用给定的屏幕截图,我想从系统上已经存在的另一个模型向用户添加页面添加一个选择下拉... 查看详情

使用注册表单添加到自定义用户字段(django)

】使用注册表单添加到自定义用户字段(django)【英文标题】:Usingaregistrationformtoaddtocustomuserfields(django)【发布时间】:2017-01-3012:33:06【问题描述】:我正在为django中的注册表单创建自定义用户模型,但在将数据导入数据库时​... 查看详情

如何将表单控件添加到 Django 表单?

...单添加到引导模板中,但是我不知道如何为我的电子邮件字段添加引导程序更时尚的文本框。我希望得到类似于此引导模板角落中的登录字段的内容(尽管没有密码字段):http:/ 查看详情

Django 将额外字段添加到从模型生成的 ModelForm

】Django将额外字段添加到从模型生成的ModelForm【英文标题】:DjangoaddextrafieldtoaModelFormgeneratedfromaModel【发布时间】:2012-11-1302:00:34【问题描述】:我必须从模型生成一个FormSet,但我需要在每个表单中插入一个“额外值”。具体来... 查看详情

Django 将括号添加到 Django 模型字段

】Django将括号添加到Django模型字段【英文标题】:Djangoaddbracketstodjangomodelsfield【发布时间】:2018-05-2520:15:16【问题描述】:我试图在我的django字段中添加括号怎么做只有括号才有语法错误模型.pyclassCustomer(models.Model):name=models.CharF... 查看详情

如何将css添加到django中的默认表单元素

...录页面的应用程序。我正在使用默认的django用户名和密码字段。我想在其中添加一些css。我们如何修改默认样式并使其看起来不错我的HTML是这种形式<!DOCTYPEhtml>%loadstati 查看详情

如何将计算字段添加到 Django 模型

】如何将计算字段添加到Django模型【英文标题】:HowtoaddacalculatedfieldtoaDjangomodel【发布时间】:2013-07-1423:45:00【问题描述】:我有一个简单的Employee模型,其中包括firstname、lastname和middlename字段。在管理方面,可能在其他地方,... 查看详情

如何使用 Django 将表单/字段内容上传到 IPFS 节点?

】如何使用Django将表单/字段内容上传到IPFS节点?【英文标题】:HowcanIuploadform/fieldcontentstoanIPFSnodeusingDjango?【发布时间】:2017-02-1122:42:57【问题描述】:我想覆盖djangoImageField的上传行为,以便在上传到某个url后,文件将被添加... 查看详情

django 将占位符文本添加到表单字段

】django将占位符文本添加到表单字段【英文标题】:djangoaddplaceholdertexttoformfield【发布时间】:2017-10-2307:59:34【问题描述】:在Django中,我有以下代码在HTML页面上创建用户名和密码表单:<divclass="control-group">form.username</div&... 查看详情

将 django 表单中的布尔模型字段显示为单选按钮而不是默认复选框

】将django表单中的布尔模型字段显示为单选按钮而不是默认复选框【英文标题】:DisplayabooleanmodelfieldinadjangoformasaradiobuttonratherthanthedefaultCheckbox【发布时间】:2010-11-0505:32:26【问题描述】:这就是我的做法,将表单中的布尔模型... 查看详情