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
Respuesta
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()
db_index no se acepta en los campos de matriz ... ¿es posible? –
Desde Django 1.8 tiene https://docs.djangoproject.com/en/1.8/ref/contrib/postgres/fields/#arrayfield – shuttle87
tiene que crear la subclase model.Field
y escribir los métodos de entrada y salida.
http://docs.djangoproject.com/en/dev/howto/custom-model-fields/#custom-database-types
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
.
djorm-ext-pgarray también ofrecen consultas http://www.niwi.be/2012/10/07/postgresql-array-fields-with-django/
Esto ahora parece ser una mejor opción que django-dbarray ya que se mantiene mejor. dbarray no funciona para las matrices CharField en su forma actual (aunque hay una solicitud de extracción pendiente que aparentemente soluciona esto) – alan
Soporte nativo para campos del modelo específico de PostgreSQL es muy pronto a Django (en el módulo django.contrib.postgres.fields):
- https://docs.djangoproject.com/en/dev/ref/contrib/postgres/fields/#arrayfield
- https://github.com/django/django/pull/2485: El tirón correspondiente solicitud
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)
- 1. ¿Cómo actualizar el campo manytomany en Django?
- 2. Cómo encontrar el tamaño de una matriz en postgresql
- 3. Asignar ValidationResult al campo específico?
- 4. Cómo crear el campo de entrada de contraseña en django
- 5. Cómo cambiar el comportamiento predeterminado de ordenación nula de PostgreSQL en el ORM de Django
- 6. PostgreSQL: seleccione devuelve matriz
- 7. ¿Qué significa el campo `width` en EXPLAIN de PostgreSQL?
- 8. Obtiene el campo de formulario de Django del campo modelo
- 9. Cómo representar el campo de formulario django en la plantilla
- 10. ¿Cómo obtener el ID del campo de formulario en Django?
- 11. de consulta en el valor de elementos de matriz (PostgreSQL)
- 12. Django + PostgreSQL: ¿Cómo restablecer la clave principal?
- 13. Filtrar la base de datos Django para el campo que contiene cualquier valor en una matriz
- 14. Cómo asignar una matriz JSON con RestKit
- 15. tipos de datos múltiples matriz en PostgreSQL
- 16. cómo asignar valores de la matriz en tiempo de ejecución
- 17. Postgresql matriz agregada
- 18. cómo asignar matriz bidimensional a ** puntero?
- 19. valor predeterminado para el campo en el modelo de Django
- 20. PostgreSQL para Django en Elastic Beanstalk
- 21. ¿Cómo asignar dinámicamente una matriz de punteros en C++?
- 22. Cómo filtrar un queryset django utilizando una matriz en un campo como "IN" de SQL?
- 23. ¿Cómo funciona el modificador -m en Perl
- 24. Asignar matriz dinámica con dimensiones interdependientes
- 25. ¿Cómo asignar una matriz de caracteres en struct inline?
- 26. cómo asignar una matriz de canales en go
- 27. Poblando el campo django con pre_save()?
- 28. Tipo de campo PostgreSQL para timestamp unix?
- 29. Campo oculto en Django Modelo
- 30. Preservando la precisión de salida con Django DecimalField y PostgreSql Campo numérico
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) –