2010-12-09 15 views
14

Tengo un campo array en mi base de datos PostrgreSQL de tipo texto. ¿Hay alguna manera de mapear esto en un modelo de Django?Cómo asignar el campo de matriz PostgreSQL en Django ORM

+3

posible duplicado de [¿cómo modelo de Django después del texto \ [\] en PostgreSQL] (http://stackoverflow.com/questions/4213332/how -does-django-model-after-text-in-postgresql) –

Respuesta

12

Es posible que desee ver en django-dbarray en github. Agrega soporte para campos de matriz postgresql.

no he usado antes, pero parece que sólo tiene que hacer:

from django.db import model 
import dbarray 

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

db_index no se acepta en los campos de matriz ... ¿es posible? –

+1

Desde Django 1.8 tiene https://docs.djangoproject.com/en/1.8/ref/contrib/postgres/fields/#arrayfield – shuttle87

4

Una de las otras opciones agradables es http://django-orm.readthedocs.org/ --- una biblioteca que agrega fijaciones a muchos tipos de Postgres nativos .

El principal inconveniente de django-orm es que a partir de hoy no tiene soporte de trabajo para south.

2

Desde Django 1.8 hay un django.contrib.postgress module que agrega compatibilidad con array fields entre otros tipos de datos de PostgreSQL.

Por ejemplo, usted puede hacer algo como esto:

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) 
Cuestiones relacionadas