Django 中 admin utils 模块的变化

Changes in admin utils module in Django

最近我将项目中的 Django 从 1.6.11 版本升级到 1.8.7 版本。现在我的帐户模块出现错误。一段代码和错误:

from django.contrib.admin import util


self.add_fieldsets = (
    ( some_data ),
    ( some_data ),
)

...
obj.update({
    'fields': admin.util.flatten_fieldsets(self.add_fieldsets),
})

我收到一个错误:

Exception Type:     AttributeError
Exception Value:    'module' object has no attribute 'util'

关于这个方法admin.util.flatten_fieldsets(self.add_fieldsets) 这个方法在 Django 1 中有什么变化吗?8.x?

导入路径是django.contrib.admin.utils而不是django.admin.utils

所以用 -

替换你的导入
from django.contrib.admin import utils

util 模块在 Django 1.7 (release notes) 中重命名为 utils

要更新 Django 1.7+ 的代码,请替换导入

from django.contrib.admin import util

from django.contrib.admin import utils

然后把代码改成

obj.update({
    'fields': utils.flatten_fieldsets(self.add_fieldsets),
})