我有一个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()之前,我要基于现有数据进行查找,我必须提取模型所需的其他数据并创建对象。任何想法如何做到这一点?
使用保存表单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
的保存方法上的文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句