2011-01-04 7 views
1

Я знаю, что Django не имеет встроенного поля модели для настраиваемого типа postgresql «text []». Посмотрев на документы, у меня возник вопрос.django нужна помощь в написании настраиваемого поля

Я понял, что мне нужно переопределить метод db_type, чтобы отразить тип данных «text []», но это все? Что мне нужно написать для метода 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 timestamp into pythons datatetime` объектов.

+0

Поскольку мое настраиваемое поле предназначено только для моделирования пользовательского типа данных pgsql, я игнорирую методы to_python и get_db_prep_value? Я понимаю, что psycopg2 читает и выводит столбец как список .... – goh

+0

Я понятия не имею. Вы пытались использовать поле без этих двух методов? – gruszczy

+0

Я пробовал, но не смог создать таблицу, потому что жаждет эволюция django. – goh

Смежные вопросы