0
我想要生成一個二維碼分配給圖像字段。我使用ModelAdmin中的save_model函數在另一個模型上完成了這個任務。現在,我需要在Inline中完成它。顯然,save_model在這裏不起作用,而且我被告知save_formset是取而代之的方式,但是我無法讓它工作。我已經將我的代碼與我已經看到的save_formset的其他實例進行了比較,並且看不到任何語法錯誤,但是django不會給我一個錯誤報告,所以我沒有其他任何事情可以繼續。save_formset爲StackedInline不起作用
class InstrumentAdmin(admin.ModelAdmin):
inlines = [
AssetInline,
]
def save_formset(self, request, form, formset, change):
instances = formset.save(commit=False)
for f in instances:
# save the object first so we get an id number etc.
f.save()
# determine the URL
url='{}{}'.format(HOMEURL,f.get_absolute_url())
# build a qr code
qr = qrcode.QRCode(box_size=3)
qr.add_data('FloWave TT {} {}'.format(f,url))
qr.make(fit=True)
img=qr.make_image()
# save to memory
img_io= StringIO.StringIO()
img.save(img_io,'PNG')
img_file=InMemoryUploadedFile(img_io, None, 'assetqr{}.png'.format(f.id), 'image/png', img_io.len, None)
# update the object record with the qrcode
f.qrcode=img_file
f.save()
formset.save_m2m()