django - 允许 Django admin.site.register 接受超过 3 个参数
问题描述
我正在尝试在同一模型上同时使用图像裁剪工具和 Django 可排序工具。但是,它说我最多只能添加 3 个位置参数。这到底是什么意思,是否有特定的解决方案或解决方法?
from django.contrib import admin
from .models import Rower, Race, Leadership, Event
from image_cropping import ImageCroppingMixin
from adminsortable2.admin import SortableAdminMixin
class MyModelAdmin(ImageCroppingMixin, admin.ModelAdmin):
pass
class MyModelAdminSorting(SortableAdminMixin):
pass
admin.site.register(Rower, MyModelAdmin)
admin.site.register(Race)
admin.site.register(Leadership, MyModelAdminSorting, MyModelAdmin)
admin.site.register(Event)
错误:admin.site.register(Leadership, MyModelAdminSorting, MyModelAdmin) TypeError: register() 需要 2 到 3 个位置参数,但给出了 4 个
解决方案
你不是那样做的。
您创建一个LeadershipAdmin
从您想要的位置继承的自定义,例如:
class LeadershipAdmin(ImageCroppingMixin, SortableAdminMixin):
pass
由于上面的代码将负责继承裁剪 mixin 和 Django 的ModelAdmin
.
然后你只注册LeadershipAdmin
:
admin.site.register(Leadership, LeadershipAdmin)
每个模型只注册一个管理类,而不是它们的列表。
推荐阅读
- reactjs - 将 React 与从后端获取数据的错误集成的问题
- cluster-analysis - 导丝聚类
- python - ARIMA 异常预测
- python - 来自numpy的weibull函数问题,概率结果大于1
- python - 一个工作片段不能再抓取它过去的数据
- maxscript - Maxscript中按钮上的字母下划线
- powershell - Powershell 脚本一直以“试运行”的方式运行,并且没有进行任何更改
- node.js - TypeError:'instanceof' 的右侧不可调用 JEST 和 SUPERTEST
- delphi - Delphi - DBGrid - 动态添加组合查找字段
- firebase - SwiftUI:Firebase 库未反映