2011-01-04 8 views
1

私は、Djangoにはpostgresqlのカスタムタイプ "text []"のためのモデルフィールドが組み込まれていないことを知っています。 ドキュメントを見た後、私は質問があります。djangoはカスタムフィールドを書くのに助けが必要です

私は 'text []'データ型を反映するためにdb_typeメソッドをオーバーライドする必要があることに気づきましたが、それだけですか? to_pythonメソッドのために何を書く必要がありますか?つまり、返されるデフォルト値は既に使用できるリストです。

class TextArrayField(models.Field): 

    def db_type(self,connection): 
     return 'text []' 

psycopg2を使用します。

UPDATE: 私は上記のフィールドを持つテーブルを作成してみました...しかし、進化はエラーを投げているジャンゴ:

AttributeError: 'module' object has no attribute 'EvolutionOperations' 

誰もが啓発することはできますか?

答えて

0

to_pythonは、データベース値をpythonオブジェクトにマッピングする必要があります。たとえば、DateTimeField to_python turns databaseタイムスタンプinto pythons datatetime`オブジェクトです。

+0

カスタムフィールドはカスタムpgsqlデータ型をモデル化するだけなので、to_pythonメソッドとget_db_prep_valueメソッドの両方を無視しますか?私はpsycopg2がリストとして列を読み込んで出力することを実感します.... – goh

+0

私は分かりません。あなたはこれらの2つの方法なしでフィールドを使ってみましたか? – gruszczy

+0

私は試しましたが、テーブルの作成はできませんでした。ジャンゴの進化が不平を言うからです。 – goh

関連する問題