我想添加一个自定义字段到我的Django项目,使用South。正因为如此,我试着(第一次)写introspection rules for South。我相信我的情况是最简单的,因为我只是扩展CharField。具体做法是:添加简单的自定义字段到Django - 如何写南内省规则
class ColorField(models.CharField):
def __init__(self, *args, **kwargs):
kwargs['max_length'] = 10
super(ColorField, self).__init__(*args, **kwargs)
def formfield(self, **kwargs):
kwargs['widget'] = ColorPickerWidget
return super(ColorField, self).formfield(**kwargs)
这是为那些有兴趣称为jQuery color picker model field Django的片段。
因为我不加入任何新的属性,我相信我只需添加几行代码:
from south.modelsinspector import add_introspection_rules
add_introspection_rules([], ["^myproject\.myapp\.models\.ColorField"])
这可能是显而易见的,但他们应该去哪里?另外,我的假设是,我必须做的正确吗?
我已经回顾了这里发布的几个问题,但大多数处理更复杂的内省。
每http://south.readthedocs.org/en/latest/customfields.html#where-to-put-the-code,我已经尝试puttin代码在我的models.py文件的顶部定义自定义字段。但是这没有奏效。