Python Django:我的对象';s列表属性未保存在函数内部

Python Django:我的对象';s列表属性未保存在函数内部,python,django,list,class,attributes,Python,Django,List,Class,Attributes,这里是Django的新手。 所以我制作了一个属性为列表的模型。然后我举了一个例子。然后我有一个函数,它有一个for循环,附加到对象的“class list”属性。这并不是将列表数据永久保存到对象的属性(这不是模型对象的全部点吗?)。我对如何做到这一点感到非常困惑 class Mymodel: class_list = [] my_object = Mymodel() values = [1, 2, 3, 4, 5, 4, 3, 2, 1] def myFunction(): fo

这里是Django的新手。 所以我制作了一个属性为列表的模型。然后我举了一个例子。然后我有一个函数,它有一个for循环,附加到对象的“class list”属性。这并不是将列表数据永久保存到对象的属性(这不是模型对象的全部点吗?)。我对如何做到这一点感到非常困惑

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
因此,在我的_对象中,我希望新值保存在它的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]
但是如果之后我
打印(我的对象.class\u列表)
,它将打印
[]
那么如何让Django保存我的对象信息呢?我错过了什么,或者我做了什么完全错误的事情

编辑 我想我要找的是
save()
函数,但我只是尝试在我的对象ie上使用它

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\u object.save()

我仍然不清楚您试图实现什么,为什么要循环。也许会有更多的启示,我们可能会看到一个比Loopfor更好的方法。几天前,我看到一篇精彩的评论描述了这个问题,虽然我现在找不到,但我会用我自己的话来描述。每个HTTP请求都是相互独立的,服务器不应该知道以前的某个请求。你应该有一种心态,即会有多个用户访问你的网站,而你可能同时在多台服务器上运行你的网站。考虑到所有这些,在你尝试(全局)保存数据时保存数据是个坏主意。(我假设您从事开发工作。正在发生的事情是,每个请求都由不同的线程提供服务,其中没有一个线程知道另一个线程做什么)您需要将数据保存到数据库中。您只是命名一个类
Mymodel
并不能使它成为Django中的模型,而且模型只使用一些模型字段而不是一些内置python数据类型将数据存储到db中。关于如何使用模型,请参见,当然,仅当您的模型已在models.py文件中注册并且已将其迁移到数据库中时,才可以使用此选项。之后,您可以利用Django的ORM。