如何创建不映射到数据库表的Django模型
我想创建一个不映射到数据库表的模型.而是作为
python对象保留在内存中.
实际上,该模型应该表示来自许多其他表映射模型的标准化数据. 其他模型存储可在一天内多次编辑的数据.由于这些多次编辑,我不希望执行规范化/计算的表映射模型并将它们存储在数据库中,因为这些存储的数据可能会立即过时. 每次访问此规范化模型(通过管理员),我希望它从头开始对其他模型的数据执行规范化(这样它可以显示最新的数据),并且行为就像管理员下的正常模型一样比如显示列表视图和每行的详细视图. 按照Shintoist的回答编辑: @Shintoist感谢清理事务并提供可用的方法.我刚刚实现了它,但最后还是打了一堵小墙:) @skirmantas:是的,计算是在一个单独的对象中.此对象将传递到自定义视图中. 问题:一个问题是在admin.py下,我为这个对象创建了一个modeladminclass(它没有继承models.Model),所以我的自定义视图可以覆盖changelist视图和changeview. 解决方法如何使用多个数据库,并将其中一个配置为使用内存表?对于MySQL,它看起来像这样: DATABASES = { 'default': { },'memory': { 'ENGINE': 'django.db.backends.mysql','NAME': 'dbname','USER': 'dbuser','PASSWORD': '','HOST': 'localhost','PORT': '','OPTIONS': {"init_command": "SET storage_engine=MEMORY"} } } 请注意,在创建表时只需要使用SET storage_engine,但它可能不会为您的用例添加太多开销. http://dev.mysql.com/doc/refman/5.0/en/memory-storage-engine.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |