Django 1.8将带有新的高级字段类型,包括 ArrayField这些依赖于 PostgreSQL 并在数据库级别实现。
PostgreSQL 的数组字段实现了一个 append 方法。
但是我找不到任何关于将项目附加到ArrayField
. 这显然非常有用,因为它允许更新字段,而无需将其全部内容从数据库传输然后返回给它。
这可能吗?如果没有,将来有可能吗?任何指向我错过的文档的指针将不胜感激。
为了澄清我在问什么,这会很棒:
注意:这是幻想代码,我认为不会工作(我没有尝试过)
# 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 的情况下做到这一点?