Reputation: 366
To solve my (kinda specific) problem, I found that I have to use Django ArrayField: https://docs.djangoproject.com/en/2.1/ref/contrib/postgres/fields/#arrayfield
I have defined it in my models.py
file as
Bla = ArrayField(
models.IntegerField(),
size=4
null=True
)
But how do I actually put information inside? Ideally both a whole python list, as also at a single place.
And once it is in there, how can I retrieve it? Both on python side, as also in the .html
file?
PS: I don't think that the whole background of the problem is relevant, so I omitted it for now, but I will of course provide all necessary details if anyone is interested.
Upvotes: 4
Views: 3300
Reputation: 169051
You just assign a list of integers.
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()
Reading m.bla
, you get back a list of integers, which you can access in Python or Django templates like any other list.
See also the documentation on the various extra lookups for ArrayFields.
Upvotes: 10