为了解决我(有点特殊)的问题,我发现我必须使用Django ArrayField:
https://docs.djangoproject.com/en/2.1/ref/contrib/postgres/fields/#arrayfield
我在models.py
文件中将其定义为
Bla = ArrayField(
models.IntegerField(),
size=4
null=True
)
但是我该怎么把信息放进去呢?理想情况下,两者都是一个完整的python列表,同样在一个地方。
一旦它在里面,我怎么才能找回它?在python端,也在
.html
文件中?注:我不认为这个问题的整个背景是相关的,所以我暂时省略了,但如果有人感兴趣,我当然会提供所有必要的细节。
最佳答案
你只需分配一个整数列表。
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模板中访问它。另请参见the documentation on the various extra lookups for ArrayFields。