Django 1.8 will come with new advanced field types including ArrayField这些依赖于PostgreSQL,并在DB级别实现.

PostgreSQL的数组字段implements an append method.

然而,我找不到任何关于将一项附加到ArrayField的文档.这显然是非常有用的,因为它允许更新字段,而无需将其全部内容从数据库传输回数据库.

这可能吗?如果不是,将来可能吗?如果有任何我错过的文档,我将不胜感激.

为了澄清我的问题,这很好:

Note: this is fantasy code and I assume won't work (I haven't tried)

# on model:
class Post(models.Model):
    tags = ArrayField(models.CharField(max_length=200))

# somewhere else:
p = Post.objects.create(tags=[str(i) for i in range(10000)])
p.tags.append('hello')

目前有没有办法不用原始sql就能做到这一点?

推荐答案

我认为你正在寻找的功能目前还没有实现(也可能没有计划).许多博士后都有originated based on this kickstarter project名学生.

我发现最有用的新功能文档来自source code itself.其中包括许多这些功能的原始pull request链接.

关于前面提到的数组函数,需要注意的一点是,它们是函数,可以说是outside the scope of a typical ORM.

我希望这些信息是有用的,你能找到解决这个问题的好办法.

Postgresql相关问答推荐

从子查询中的排序结果中获取前X行

PostgreSQL:如何 for each 唯一的客户输入/更新列中的数据,并将其递增1直到表的末尾

Postgres:如何优化在多个表上搜索列的相似性查询?(Pg_Trgm)

对 VOLATILE 函数的调用会 destruct SELECT 语句的原子性

使用Helm设置PostgreSQL配置

至少 pgRouting 的某些部分可以与并行查询并行运行吗?

气流数据库如何定期管理?

包含间隔在 jooq 和 postgres 中没有按预期工作

在 jOOQ 中 Select 相同的命名列

PostgreSQL unnest 与空数组

表或列名不能以数字开头?

如何将 postgres 数据库转换为 sqlite

从 PostgreSQL 中的数字获取月份名称

在 postgreSQL 中更改序列名称

postgresql 查询以显示用户的组

如何在postgresql中编写关于最大行数的约束?

判断 PostgreSQL 中的角色是否设置了密码

由于不支持身份验证类型 10,无法连接到 Postgres DB

PostgreSQL 9.1:如何连接数组中的行而不重复,加入另一个表

如何在 PostgreSQL 中生成一系列重复数字?