【问题标题】:Django admin StackedInline in custom tab自定义选项卡中的 Django 管理员 StackedInline
【发布时间】:2020-01-22 02:41:25
【问题描述】:

我目前在试图弄清楚如何将 3 内联放在更改视图的单个选项卡中时遇到问题。

我目前拥有以下视图之一的以下管理员:

class UserAdminCustom(admin.ModelAdmin):
    list_display = ('id', 'email', 'status', 'created')
    verbose_name = "General"
    exclude = ('password', 'last_login', 'is_superuser', 'is_staff', 'groups',
               'user_permissions', 'username', 'first_name', 'last_name', 'is_active', 'date_joined', 'modified')

    inlines = [
        UserKycInline, UserWalletInline, UserBankInline, CardBindingInline, TopUpsInline, TransfersInline, WithdrawalsInline
    ]

    def get_queryset(self, request):
        qs = super(UserAdminCustom, self).get_queryset(request)
        return qs.filter(is_staff=False)

    def get_readonly_fields(self, request, obj=None):
        return ('id', 'created', 'modified')



admin.site.register(User, UserAdminCustom)

我目前希望 TopUpsInline, TransfersInline, WithdrawalsInline 都在 1 个选项卡名称 transactions 中。我想我会使用字段集,但它只适用于用户字段,不能应用于内联。

无论如何我可以在更改视图的 1 个自定义选项卡中显示 3 个内联吗?

【问题讨论】:

标签: python django django-admin


【解决方案1】:

标准的django admin是不行的,建议你试试django-tabbed-admin

【讨论】:

  • 我试过了,但它似乎不适用于 django 2.2。我看到 django-suit 和 django-baton 可以在标签中内联,我仍在阅读他们的代码,看看是否有可能
  • 查看文档是可能的:github.com/omji/django-tabbed-admin#configure-admin-tabs,唯一的限制是您只能显示 1 个内联选项卡。我更喜欢使用默认的 django admin 并使用django-admin-interface 自定义其主题,这样所有改进了 admin 的 3rd 方库都可以使用。
  • 如果您查看 django baton 并且我尝试过,您可以在 1 个选项卡中包含多个内联,但我不想使用主题,因为目前我只想要 django admin overdrive 方式
  • 不要使用这个;该项目已被放弃(2018 年的最新更新)
【解决方案2】:

我发现 django-baton 模板确实支持自定义表单选项卡,并且我设法在单个选项卡中获得 3 个内联

https://django-baton.readthedocs.io/en/latest/form_tabs.html

inlines = [
    UserKycInline, UserWalletInline, UserBankInline, CardBindingInline, TopUpsInline, TransfersInline, WithdrawalsInline,
]

fieldsets = (
    ('General', {
        'fields': ('id', 'uid', 'phone_number', 'nickname', 'status', 'eth_address', 'evt_address', 'created', 'modified',),
        'classes': ('baton-tabs-init', 'baton-tab-group-fs-kyc--inline-userkyc', 'baton-tab-group-fs-wallets--inline-user_wallet', 'baton-tab-group-fs-banks--inline-user_bank', 'baton-tab-group-fs-cards--inline-user_binding', 'baton-tab-group-fs-transactions--inline-user_toptup--inline-transfers--inline-user_transfer--inline-user_withdrawal', ),
    }),
    ('KYC', {
        'fields': (),
        'classes': ('tab-fs-kyc', ),
    }),
    ('WALLETS', {
        'fields': (),
        'classes': ('tab-fs-wallets', ),
    }),
    ('BANKS', {
        'fields': (),
        'classes': ('tab-fs-banks', ),
    }),
    ('CARDS', {
        'fields': (),
        'classes': ('tab-fs-cards', ),
    }),
    ('Transactions', {
        'fields': (),
        'classes': ('tab-fs-transactions', ),
    }),
)

【讨论】:

    猜你喜欢
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-27
    • 2016-10-16
    • 2017-05-03
    相关资源
    最近更新 更多