我知道自动设置是让您在models.py中定义的任何模型成为数据库表。
我正在尝试定义不会是表的模型。他们需要存储动态数据(我们从API获取和配置的),每次用户搜索到的东西。这些数据需要组装,然后在用户完成时丢弃。
在此之前,我使用的是数据库表。它允许我在任何视图中执行"Trips.objects.all“之类的操作,并将其传递给任何模板,因为它们都来自一个数据源。我听说您不能“保存”模型实例化,然后它就不会保存到数据库中,但我需要在多个其他视图中访问这些数据(我已经在一个视图中组装)来操作和显示它。。。如果我不保存我就不能访问它,如果我保存了,那么它就在一个数据库中(这将会有多个用户的并发问题)
我真的不想传递字典/列表,如果必须的话,我甚至不确定我是如何做到的。
想法?
谢谢!
发布于 2016-05-10 23:16:31
另一种选择可能是使用:
class Meta:
managed = False
防止Django创建数据库表。
https://docs.djangoproject.com/en/2.2/ref/models/options/#managed
发布于 2012-02-01 18:05:46
对我来说,听起来就像是一个普通的Class
。
如果你愿意,你可以把它放到models.py
中,但不要在django.db.models.Model
上子类化它。或者您可以将其放入任何python文件中,导入到您想要使用它的任何范围内。
也许在请求传入时使用the middleware实例化它,并在请求完成时丢弃它。一种访问策略可能是将其附加到请求对象本身,而不是ymmv。
发布于 2012-09-20 18:09:20
与SQLAlchemy不同,django的对象关系映射不支持在没有数据库后端的模型上进行查询。
您的选择仅限于使用django的内存数据库,或者使用诸如dqms之类的第三方应用程序,这些应用程序为django的对象关系映射提供纯粹的内存中后端。
https://stackoverflow.com/questions/9091305
复制相似问题