簡體   English   中英

將字段添加到模型中但不在表單中的 django ModelForm

[英]Add field to django ModelForm that are in the model but not in the form

我有一個 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()

有關更多信息,請參閱ModelFormsave 方法上的文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM