python - Django 管理员 : add inlines dynamically

标签 python django django-models django-admin

class MyTemplateAdmin(admin.ModelAdmin):
list_display = ('name')
search_fields = ['name']
inlines = [
    Template1Inline,
    Template2Inline,
    Template3Inline,
]

这很好用。但我需要的是让它充满活力。每当管理员向 MyTemplate 模型添加新模板时,都需要将其添加到内联中。

有没有办法做到这一点?如果我对我的问题不够清楚,请发表评论。 提前致谢!

最佳答案

只需覆盖管理员的 get_inline_instances.

def get_inline_instances(self, request, obj=None):
    _inlines = super().get_inline_instances(request, obj=None)
    custom_inline = YourDynamicInline(self.model, self.admin_site)
    _inlines.append(custom_inline)
    return _inlines

关于python - Django 管理员 : add inlines dynamically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5569091/

相关文章:

python - 类型错误 : 'psycopg2._psycopg.Binary' object does not support indexing

python - Django REST Framework 序列化器验证错误

django - 无法在迁移中添加新字段: "column .. does not exist"

python - 从表单中获取数据并显示在模板中

python - 如何为Python安装Flask-mysqldb?

python - 使用二维码验证产品

使用 get_queryset 的 Django ListView 分页

jquery - django 中的实时日志查看器

django - django会在服务器上引发语法错误,尽管它可以在localhost上运行

javascript - 如何在 python selenium 中禁用 PhantomJS 的屏幕截图和 javascript?