我的model.py中有一个课程,
class Views(models.Model):
X = ArrayField(models.IntegerField(blank = True))
Y = ArrayField(models.DecimalField(blank = True,max_digits=2, decimal_places=2))
我输入了X和Y的默认值[0,0,0,0,0,0,0,0,0,0]。 但是当我尝试更新X或Y数组的值时,并没有真正得到更新。
shell命令是:
>>> from productsHome.models import Views
>>> x = Views.objects.all()
>>> x
<QuerySet [<Views: Views object (5)>]>
>>> x[0]
<Views: Views object (5)>
>>> x[0].X
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
>>> x[0].X = [1,2,2,1]
>>> x[0].X
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
>>>
为什么我的x [0] .X不能更新?
答案 0 :(得分:1)
为什么我的
x[0].X
没有得到更新?
因为您进行了新查询,因此检索了数据库中的值。为了持续更新 (在数据库端),您需要保存已更新的对象。例如:
x = Views.objects.all()
x0 = x[0]
x0.X = [1,2,2,1]
x0.save()
# …
print(x[0].X)