Django多重管理模型

时间:2018-11-13 16:22:31

标签: django python-3.x

我想使用2个管理应用程序,例如:

  • django-admin-sortable
  • django-import-export

是否可以在管理表单中同时使用两者? 我的意思是我的代码正在使用SortableAdmin:

class RuleAdminForm(forms.ModelForm):
content = forms.CharField(widget=CKEditorWidget())

    class Meta:
        model = Rule
        fields = '__all__'


class RuleAdmin(SortableAdmin):
    list_display = ('title', 'section', 'subsection',)
    readonly_fields = ('author', 'date_posted')
    fields = ('title', 'section', 'subsection', 'content', 'author', 'date_posted')
    form = RuleAdminForm

.register(Rule, RuleAdmin)

如果要使用import-export,则需要创建此文件:

class RuleResource(resources.ModelResource):
    class Meta:
        model = Rule


class RuleResourceAdmin(ImportExportModelAdmin):
    resource_class = RuleResource

但是我无法向.register(Rule, RuleResourceAdmin)注册,因为Rule已被注册

有两种方法都可以吗?使用可排序的管理员对我的规则进行排序,并可以导入CSV等。

非常感谢!

1 个答案:

答案 0 :(得分:0)

使用代理模型。

    class RuleProxyModel(Rule):

          class Meta:
                proxy = True


admin.site.register(RuleProxyModel,RuleResourceAdmin)

How to use proxy model