Django新手。所以我做了一个模型,其中一个属性是列表。然后我做了一个实例;类列表";属性。这并不是将列表数据永久保存到对象的属性中(这不是模型对象的全部点吗?(。我很困惑该怎么做。
class Mymodel:
class_list = []
my_object = Mymodel()
values = [1, 2, 3, 4, 5, 4, 3, 2, 1]
def myFunction():
for value in values:
my_object.class_list.append(value)
return something_unrelated
因此,在my_object中,我希望在其class_list属性中保存新值。我不希望函数返回class_list。我希望Django将属性保存在它的数据库中。如果我在for循环前后插入print语句(见下文(,我会得到我所期望的结果。
def myFunction():
print(my_object.class_list)
for value in values:
my_object.class_list.append(value)
print(my_object.class_list)
return something_unrelated
在领事馆我会看到
[]
[1, 2, 3, 4, 5, 4, 3, 2, 1]
但如果我之后print(my_object.class_list)
,它将打印[]
那么我该如何让Django保存我的对象信息呢?我错过了什么,或者我在这里做错了什么?
编辑我想我想要的是save()
函数,但我只是试着在my_object即上使用它
def myFunction():
print(my_object.class_list)
for value in values:
my_object.class_list.append(value)
print(my_object.class_list)
my_object.save()
return something_unrelated
但是如果我再次调用MyFunction,列表仍然是空的(第一个print语句仍然返回一个空字符串(。我仍然不确定如何将其永久保存到数据库中。
如果要将对象保存到数据库,则需要使用save方法。
更改my_object.save()
后再尝试。