Django Администратор StackedInline в пользовательской вкладке - PullRequest
2 голосов
/ 22 января 2020

В настоящее время у меня возникают проблемы при попытке выяснить, как я могу разместить 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. Я полагаю, что я бы использовал наборы полей, но он работает только с пользовательскими полями и не может быть применен к Inline.

Можно ли в любом случае показать 3 встроенных в 1 настраиваемой вкладке в представлении изменений?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2020

Я обнаружил, что шаблон 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', ),
    }),
)
0 голосов
/ 04 февраля 2020

Невозможно со стандартным django admin, я предлагаю вам попробовать django -tabbed-admin .

...