簡體   English   中英

Django 自定義選項卡中的管理員 StackedInline

[英]Django admin StackedInline in custom tab

我目前在嘗試弄清楚如何將 3 inline 放入更改視圖的單個選項卡中時遇到問題。

對於其中一個視圖,我目前有以下管理員,如下所示:

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 個內聯?

使用標准的 django admin 是不可能的,我建議你嘗試django-tabbed-admin

我發現 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', ),
    }),
)

你可以試試https://github.com/cuongnb14/django-admin-extended 只需按照https 中的說明安裝即可://github.com/cuongnb14/django-admin-extended#readme

默認將每個內聯 model 滑動到一個選項卡,如果您希望所有內聯模型只到一個選項卡,您可以在 admin_extended/templates/admin/change_form.html 修改代碼。 它使用 jquery-ui,你可以很容易地做到這一點。 圖片演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM