我使用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,这应该可以解决问题,但事实并非如此。
解决方法的最佳方法是什么?
答案 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"])