我有一个表有一个postgresql中的数据类型text []的列。我可以知道如何使用django models orm访问此列吗?我知道这是一个commaseparatedintegerfield,但没有这样的文本相关字段。我是否使用文本字段或需要为此创建自定义字段?
答案 0 :(得分:2)
我不认为Django ORM支持PostgreSQL数组。这并不奇怪,因为这看起来像一个相当PostgreSQL特定的功能。如果你真的必须使用数组,最好的办法就是手工构建SQL查询。否则,只需将数组列转换为表格,如Mark所示;这是迄今为止更便携,概念更清洁的解决方案(虽然性能可能更低)。
答案 1 :(得分:1)
PostgreSQL数组字段经常是正确的解决方案。例如,使用旧数据库时。 github上的django-dbarray项目增加了对此的支持。我没有用它,但看起来基本上是用法:
from django.db import model
import dbarray
class Person(models.Model):
birthdate = models.DateField()
nicknames = dbarray.TextArrayField()