第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

覆蓋 Django 管理內(nèi)聯(lián)表單集不會(huì)保存超過(guò) 1 行

覆蓋 Django 管理內(nèi)聯(lián)表單集不會(huì)保存超過(guò) 1 行

我有一個(gè)帶有內(nèi)聯(lián)的直接 admin.ModelAdmin 類(lèi),其中我使用 forms.Model 和 BaseInlineFormset 覆蓋表單和表單集以添加自定義字段。我有一個(gè)加載的自定義 jQuery 腳本,每當(dāng)從 select2 下拉列表中選擇一臺(tái)機(jī)器時(shí),它都會(huì)對(duì) REST API 運(yùn)行 AJAX 查詢(xún),并根據(jù)外鍵值獲取項(xiàng)目并使用信息填充 CleanEntryInline。但是,保存后它只會(huì)將一條記錄發(fā)布到數(shù)據(jù)庫(kù)。class CleaningEntryInline(admin.TabularInline):    model = CleaningEntry    form = CleaningEntryForm    formset = CleaningEntryFormSet    extra = 0    raw_id_fields = ['cleaning_item']    fieldsets = [        (None,{'fields':[('cleaning_item','cleaning_action', 'checked', 'na', 'notes')]})    ]    template = 'admin/quality/cleaningentry/edit_inline/tabular_actions.html'class CleaningLogAdmin(admin.ModelAdmin):    ####Save model function override to make and save QC Lab user and make uneditable.    def save_model(self, request, obj, form, change):         obj.lab_user = request.user.username        obj.save()    list_display = ['machine_used','get_product_info','lot_num','start_time','lab_user']    list_filter = ['machine_used']    readonly_fields = ['lab_user', 'cleaning_users']    search_fields = ['machine_cleaned', 'lot_num', 'recipe_cleaned__recipe_name__item_code', 'lab_user']    autocomplete_fields = ['machine_used','recipe_cleaned']    fieldsets = [        ('Cleaning Info',{'fields':[('machine_used', 'recipe_cleaned', 'lot_num')]}),           (None,{'fields':[('start_time')]}),        (None,{'fields':[('clean_time', 'lab_user')]})    ]我已經(jīng)嘗試過(guò)覆蓋save_formset() 之類(lèi)的方法,但我不完全確定這是一個(gè) Django 問(wèn)題,并且想知道這是否不是由于命名空間造成的?如果我在 ajax 調(diào)用后使用“添加另一個(gè)”按鈕手動(dòng)附加行,然后單擊“保存并繼續(xù)”或“保存”并檢查 POST 表單正在提交所有內(nèi)聯(lián),但它只保存列出的第一條記錄和所有我手動(dòng)添加的記錄。
查看完整描述

1 回答

?
喵喔喔

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊

在再次查看代碼并查看 POST 數(shù)據(jù)后,根據(jù)@dirkgroten 請(qǐng)求,我注意到在 POST 上,我使用的 .replace() 正則表達(dá)式?jīng)]有正確地將索引映射到表單:


new_row = $(row_container[0].outerHTML.replace(/log_entry-0/,'log_entry-'+i));


本來(lái)應(yīng)該:


new_row = $(row_container[0].outerHTML.replace(/log_entry-0/吉,'log_entry-'+i));


當(dāng)頁(yè)面映射數(shù)據(jù)而不是內(nèi)聯(lián)中每一行的記錄時(shí),如下所示:


log_entry-0-cleaning_item:1

log_entry-1-cleaning_item:2

log_entry-2-cleaning_item:3

它將多個(gè)值映射到 jQuery 創(chuàng)建的同一個(gè)內(nèi)聯(lián)對(duì)象:


log_entry-0-cleaning_item: 

[0]:1

[0]:2

[0]:3


查看完整回答
反對(duì) 回復(fù) 2022-05-24
  • 1 回答
  • 0 關(guān)注
  • 103 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)