Не удается обновить Django ArrayField - PullRequest
1 голос
/ 09 ноября 2019

У меня есть класс в моем 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, он не обновляется.

Команды оболочки:

>>> 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 обновляется?

1 Ответ

0 голосов
/ 09 ноября 2019

Почему мой x[0].X не обновляется?

Поскольку вы делаете новый запрос и, таким образом, получаете значение в базе данных. Чтобы постоянно обновлять (на стороне базы данных), необходимо сохранить объект, который был обновлен. Например с:

x = Views.objects.all()
<b>x0 = x[0]</b>
x0.X = [1,2,2,1]
<b>x0.save()</b>

# &hellip;
print(x[0].X)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...