使用Django数据模型获得价值对象的最佳方法是什么?

时间:2012-03-01 21:41:30

标签: python json django-models

我们的Django数据模型对象很好地映射到数据库表。我们想要一种方法将来自两个或多个表的数据打包成一个自定义结构,这样我们就可以轻松地将其作为JSON提供,具有所有属性并具有所需的格式。

有点像JAVA等其他环境中的“价值对象”(POJO),在打包和显示数据时提供了便利。它们应该是暂时的,不能在数据库中持久化;但同时包含所有必要的属性和原始数据类型(在Django世界中,这称为“_meta”)。

感谢您的回复和建议。

2 个答案:

答案 0 :(得分:0)

这不适合你吗?

class Foo(models.Model):
    field = DoesNotMatter()

class Bar(models.Model):
    field = DoesNotMatter()


class Combined(object):

    def __init__(self, foo, bar):
        self.foo_field = foo.field
        self.bar_field = bar.field

答案 1 :(得分:0)

一旦我从JAVA背景中删除了Value Object的概念, 并开始专注于我真正想要的东西,我找到了一个简单的方法 这个:根据数据在views.py中自定义构建字典 从相关模型回来。然后添加每个字典 列表存储桶并在呈现JSON提要之前使用json转储。