Как сопоставить поле массива PostgreSQL в Django ORM

У меня есть поле array в моей базе данных PostrgreSQL типа текста. Есть ли способ сопоставить это с моделью Django?

Ответы

Ответ 1

Возможно, вам стоит взглянуть на django-dbarray на github. Он добавляет поддержку полей массива postgresql.

Я не использовал его раньше, но похоже, что вам просто нужно делать:

from django.db import model
import dbarray

class ProfilingTestRun(models.Model):
    function = models.CharField(max_length=64)
    runtimes = dbarray.FloatArrayField()

Ответ 2

Один из других приятных вариантов - http://django-orm.readthedocs.org/ --- библиотека, которая добавляет привязки ко многим типам postgres.

Основной недостаток django-orm заключается в том, что на сегодняшний день он не имеет поддержки south.

Ответ 5

Поскольку Django 1.8 существует django.contrib.postgress module, который добавляет поддержку полей массива среди других типов данных PostgreSQL.

Например, вы можете сделать что-то вроде этого:

from django.contrib.postgres.fields import ArrayField
from django.db import models

class GoGame(models.Model):
    board = ArrayField(ArrayField(models.IntegerField(),size=19),size=19)