A Django model field that stores lists of values. Implemented using the PostgreSQL array type.
Note that this field currently works only on Postgres/psycopg2. Requires Django >= 1.2.
Four field types are defined in the dbarray
module:
from django.db import models import dbarray class Foo(models.Model): numlist = dbarray.IntegerArrayField() floatlist = dbarray.FloatArrayField(null=True) textlist = dbarray.TextArrayField( help_text="Fields take the same arguments as their corresponding Django fields.") charlist = dbarray.CharArrayField(max_length=5)
To define an array type based on a field other than Integer, Float, Text, or Char:
import dbarray class FooArrayField(dbarray.ArrayFieldBase, FooField): __metaclass__ = dbarray.ArrayFieldMetaclass
This may or may not work depending on a few factors; you might, for example, need
to override the db_type method to make it add []
to right spot in the column
type used in generated SQL.