如何修复关于Django 1.5中的localflavor的Django South问题?

时间:2013-03-11 13:20:43

标签: django django-south django-localflavor

我正在开始一个新项目,我正在使用Django 1.5。我发现localflavor的东西已经从Django 1.5中删除了,现在是一个单独的可安装包。所以我安装了它。在我的models.py中,我正在导入美国本地风格来获取我的状态:

from django_localflavor_us.models import USStateField

在我的模型中,我有这个领域:

state = USStateField(default='VA')

当我尝试使用South运行迁移时,我现在收到以下消息:

!无法冻结字段'playerstats.location.state'  ! (此字段具有类django_localflavor_us.models.USStateField)

!南方不能反省某些领域;这可能是因为它们是定制的  !领域。如果他们在0.6或以下工作,这是因为我们删除了  !模型解析器(它经常破坏东西)。  !要解决此问题,请阅读http://south.aeracode.org/wiki/MyFieldsDontWork

我阅读了维基文章,但我发现它非常冗长和复杂。我的USStateField现在不被认为是1.5中的自定义字段了吗?还有其他人在1.5中遇到过这个问题吗?你是怎么解决的?

3 个答案:

答案 0 :(得分:12)

从django-localflavor版本1.0开始,只需在您的INSTALLED_APPS添加“localflavor”就可以让South正确地选择它。 https://django-localflavor.readthedocs.org/en/latest/?highlight=south#installation

答案 1 :(得分:8)

您是否尝试过添加内省规则?

add_introspection_rules([], ["^django_localflavor_us\.models\.USStateField"])

答案 2 :(得分:2)

我不得不调整Hedde van der Heide的解决方案让我的工作。它看起来像这样:

add_introspection_rules([], ["^localflavor\.us\.models\.USStateField"])