2010-12-09 110 views
14

我的PostrgreSQL數據庫中有一個array字段,它的類型爲text。有沒有辦法將它映射到Django模型?如何在Django ORM中映射PostgreSQL數組字段

+3

的可能重複[如何做文字後的Django模型\ [\] PostgreSQL中(http://stackoverflow.com/questions/4213332/how -does-django-model-after-text-in-postgresql) – 2010-12-09 17:31:54

回答

12

你可能要考慮django-dbarray GitHub上。它增加了對postgresql數組字段的支持。

我以前沒有使用過它,但它看起來像你只需要做:

from django.db import model 
import dbarray 

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

db_index在數組字段上不被接受......它甚至有可能嗎? – 2013-08-10 12:27:19

+1

由於Django 1.8你有https://docs.djangoproject.com/en/1.8/ref/contrib/postgres/fields/#arrayfield – shuttle87 2016-05-02 04:21:35

4

其中一個其他不錯的選項是http://django-orm.readthedocs.org/ ---即增加了綁定到許多本地的Postgres類型庫。

django-orm的主要缺點是,截至今天,它沒有south的工作支持。

2

由於Django 1.8有一個django.contrib.postgress module,它支持array fields和其他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) 
相關問題