Django中admin utils模块的更改

时间:2015-12-11 09:12:34

标签: django admin

最近我将项目中的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中这个方法有什么变化吗?

2 个答案:

答案 0 :(得分:4)

在Django 1.7(release notes)中将

util个模块重命名为utils

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

from django.contrib.admin import util

from django.contrib.admin import utils

然后将代码更改为

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

答案 1 :(得分:1)

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

所以用 -

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