0

我想将布局模型添加到我的网站(常规设置文件),并且我希望它可以在管理界面中进行配置。

class Layout(...Model):
    primary_header
    logo_image
    ...

此结构不应保存在表格中。

我想知道是否有一个内置功能可以帮助我做到这一点。

谢谢


我的用例是网站的可配置布局。WordPress 风格。我想将该数据存储在一个具体的类中,而不必自己实现文件 /xml 序列化。

4

1 回答 1

1

抽象模型呢?它不保存在数据库中并且是子类化的,但是您可以创建它的实例并使用它的属性。我假设您希望传递某种满足模型实例要求的临时数据结构。

class Layout(models.Model):

    class Meta:
        abstract = True

如果您出于某种原因需要实际的具体模型,并且可以为它们创建表,那么从技术上讲,您还可以重新实现 save() 方法并使其无操作。

我真的不明白你将在哪里以及如何使用它,但这确实是一个无法保存的模型。

就个人而言,我实际上在使用 mongodb 和 nonrel django fork 的项目中使用了不打算保存的模型。我创建的模型纯粹是为了作为嵌套子文档嵌入到其他模型中,我从不希望它们被提交到单独的集合中。

更新
这里是另一个建议,它可能会让你的目标变得更容易。为什么不直接使用普通的 django 模型,像往常一样将其保存到数据库中,然后创建一个简单的导入/导出函数将其保存到 XML 或从 XML 读取到实例中。这样您就可以获得 100% 的正常管理功能,您仍然可以查询数据库中的值,并且 XML 部分只是一个简单的附加组件。您还可以使用它来升级首选项并将某个选项标记为活动。

于 2012-05-17T23:43:56.433 回答