Django 1.8 будет поставляться с новыми расширенными типами полей, включая ArrayField, которые полагаются на PostgreSQL и реализуются на уровне DB.
Поле массива PostgreSQL реализует метод добавления.
Однако я не могу найти документацию о добавлении элемента в ArrayField
. Это было бы очень полезно, так как это позволило бы обновлять поле без переноса всего содержимого из db, а затем обратно на него.
Возможно ли это? Если это будет невозможно в будущем? Любые указатели на документы, которые я пропустил, будут высоко оценены.
Чтобы уточнить, о чем я прошу, это было бы здорово:
Примечание: это фэнтезийный код, и я предполагаю, что он не будет работать (я не пробовал)
# 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?