3

我使用 django-taggit-autocomplete,但是在进行方案迁移时,出现错误

 ! Cannot freeze field 'main.hotels.tags'
 ! (this field has class taggit_autocomplete_modified.managers.TaggableManagerAutocomplete)
 ! Cannot freeze field 'main.rooms.tags'
 ! (this field has class taggit_autocomplete_modified.managers.TaggableManagerAutocomplete)

 ! South cannot introspect some fields; this is probably because they are custom
 ! fields. If they worked in 0.6 or below, this is because we have removed the
 ! models parser (it often broke things).
 ! To fix this, read http://south.aeracode.org/wiki/MyFieldsDontWork

所以我搜索了一下,发现 django-taggit-autocomplete-modified 应该可以解决问题,但它没有。

如何解决它的最佳方法是什么?

4

2 回答 2

3

最后我解决了将以下代码添加到models.py的问题

from south.modelsinspector import add_ignored_fields
add_ignored_fields(["^taggit_autocomplete\.managers"])
于 2012-12-25T23:59:59.863 回答
0

以下是@Douglish 自己的答案的一些背景信息——取自South 的文档

如果您知道不需要某些字段,则可以完全忽略它们。例如,django-taggit 有一个实际上显示为假字段的管理器(这使得使用它的 API 更好,但让 South 困惑不已)。我们附带的 django-taggit 模块包含以下规则以忽略它:

from south.modelsinspector import add_ignored_fields
add_ignored_fields(["^taggit\.managers"])
于 2015-08-11T13:55:33.367 回答