自从升级到 Django 2.1 后,我收到了运行时错误
/Applications/anaconda3/envs/svod-api-env/lib/python3.6/site-packages/django/forms/widgets.py:126:
MediaOrderConflictWarning: Detected duplicate Media files in an opposite order:
admin/js/collapse.js
admin/js/inlines.js
MediaOrderConflictWarning,
我认为这是因为在我的模型管理类中有一个折叠的字段集,并且我的表格内联类也将被折叠。
如果我删除了字段集折叠类或内联折叠类,警告就会消失,但是当它们同时使用时,它们似乎会引起警告。
Django 2.1-dev 文档说
在旧版本中,表单和表单集通过连接两者来将它们的媒体与小部件媒体相结合。组合现在尝试保留每个列表中元素的相对顺序。如果无法保留订单,则会发出 MediaOrderConflictWarning。
但我找不到在保留所有原始折叠类的同时修复媒体排序的方法。有没有其他人遇到过同样的问题?
@admin.register(User)
class UserModelAdmin(UserAdmin, ExportMixin):
...
fieldsets = (
(
_('Authentication'), {
'classes': (
'collapse',
),
'fields': (
'username',
'password',
'user_permissions',
'groups'
)
}
),
(
_('Status'), {
'fields': (
'is_active',
'is_staff',
'is_superuser'
)
}
),
...
)
inlines = (
DeviceTabularInline,
PaymentTabularInline
)
class DeviceTabularInline(admin.TabularInline):
model = Device
classes = ('collapse',)
...
class PaymentTabularInline(admin.TabularInline):
model = Payment
classes = ('collapse',)
...