django-taggit-autocomplete和south

时间:2012-12-25 18:02:18

标签: django django-south django-taggit

我使用django-taggit-autocomplete,但在进行schememigrating时,我收到了错误

 ! 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,这应该可以解决问题,但事实并非如此。

解决方法的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

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

的问题
from south.modelsinspector import add_ignored_fields
add_ignored_fields(["^taggit_autocomplete\.managers"])

答案 1 :(得分:0)

这是@ Douglish自己答案的一些背景 - 来自South's documentation

  

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

from south.modelsinspector import add_ignored_fields
add_ignored_fields(["^taggit\.managers"])
相关问题