自定义选项卡中的 Django admin 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', ),
}),
)
我目前在尝试弄清楚如何将 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', ),
}),
)