我在我的管理站点的ModelAdmin对象的tablarinline内联重写formset时遇到问题。我知道你应该有一个与tablarinline对象相关联的模型,但是我不知道如何在用于生成formset的form对象上指定这个模型。下面的代码AppAssetInline.formset'不是从BaseModelFormSet继承的
class AppAssetForm(forms.ModelForm):
model = App.assets.through
primary = forms.BooleanField()
uuid = forms.CharField()
class AppAssetInline(admin.TabularInline):
model = App.assets.through
AssetFormset = formset_factory(AppAssetForm)
formset = AssetFormset
class AppAdmin(admin.ModelAdmin):
inlines = [AppAssetInline,]
您应该使用
django.forms.models.inlineformset_factory
而不是formset_factory
我的问题的答案与我如何构建表单无关,而是我如何在模型上连接字段。我的模型有以下结构:
我所做的是改变结构,使AppAsset现在在AppAsset的资产上有一个外键。之后,我可以毫无问题地在AppAsset模型上使用tablarinline。以下是最新的源文件:
https://github.com/ridecharge/spout/blob/master/Spout/AppDistribution/models.pyhttps://github.com/ridecharge/spout/blob/master/Spout/AppDistribution/admin.py
相关问题 更多 >
编程相关推荐