Southを使用するDjangoプロジェクトにカスタムフィールドを追加しようとしています。このため、私は(初めて)南の内省ルールを書こうとしています。私はCharFieldを拡張しているだけなので、私の場合は可能な限り単純だと思います。具体的には:
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カラーピッカーモデルフィールドと呼ばれる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に従って、カスタムフィールドが定義されているmodels.pyファイルの先頭にコードを配置してみました。しかし、これはうまくいきませんでした。