【发布时间】:2011-05-08 03:05:15
【问题描述】:
我有一个我想在 admin 下使用的对象,而不是继承 models.Model 的模型。如果我让它继承models.Model,这个对象将在数据库中创建一个我不想要的表。我只希望这个对象留在内存中。
在堆栈溢出的好人的帮助下,我得到的一个解决方案是创建管理视图,通过 admin.py 下的 modelAdmin ( admin.site.register() ) 注册这些自定义视图并使用这个类似模型的对象作为动态数据存储(在内存中)。
由于此模型类对象不继承自models.Model,因此当我尝试访问时,admin.site.register()(在 admin.py 下)不接受它并显示“类型”对象不可迭代”错误它在浏览器中。
【问题讨论】:
-
您可以将额外的视图连接到特定模型(并在其中做任何您想做的事情,无论是否与模型相关;如果您愿意,我可以使用此解决方案发布答案),但我除了破解管理源之外,不知道有什么方法可以创建纯粹的独立管理视图。
-
@eternicode 实际上完全有可能创建独立的管理视图:请参阅我的答案。
-
@Daniel Roseman,啊,所以!我以前从未见过这个功能,虽然 TBH 我从来不需要它。