Как заполнить и получить доступ к Django ArrayField? - PullRequest
1 голос
/ 06 марта 2019

Чтобы решить мою (специфическую) проблему, я обнаружил, что мне нужно использовать Django ArrayField: https://docs.djangoproject.com/en/2.1/ref/contrib/postgres/fields/#arrayfield

Я определил его в моем файле models.py как

Bla = ArrayField(
        models.IntegerField(),
        size=4
        null=True
        )

Но как мне на самом деле поместить информацию внутрь? В идеале, как весь список питонов, так и в одном месте.

И как только он там окажется, как я могу получитьэто? Как на стороне питона, так и в файле .html?

PS: Я не думаю, что весь фон проблемы актуален, поэтому я пока опускаю его, ноЯ, конечно, предоставлю всю необходимую информацию, если кому-то будет интересно.

1 Ответ

4 голосов
/ 06 марта 2019

Вы просто назначаете список целых чисел.

class M(models.Model):
    bla = ArrayField(models.IntegerField(), size=4, null=True)

m = M.objects.create(bla=[1, 3, 3, 7])

# (or, equivalently,)

m = M()
m.bla = [1, 3, 3, 7]
m.save()

# (or, equivalently,)

m = M(bla=[1, 3, 3, 7])
m.save()

Читая m.bla, вы получаете список целых чисел, к которому вы можете получить доступ в шаблонах Python или Django, как и в любом другом списке.

См. Также документацию по различным дополнительным поискам для ArrayFields .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...