当前位置:  开发笔记 > 编程语言 > 正文

Django序列化为JSON

如何解决《Django序列化为JSON》经验,为你挑选了3个好方法。

我有一个Django模型(schedule)与实体类,它是父的Activity,是父的Event.

class Entity(models.Model):
    <...>

class Activity(models.Model):
    <...>
    team_entity = models.ForeignKey(Entity)
    <...>   

class Event(models.Model):
    <...>
    activity = models.ForeignKey(Activity)
    <...>

我如何序列化并获取子对象和孙子作为JSON文件的一部分?



1> Sergey Golov..:

在进行序列化之前,在检索对象时,要保留关系,请使用select_related()来获取子项,孙子项等.

见http://docs.djangoproject.com/en/dev/ref/models/querysets/



2> Steven H...:

我现在使用django-piston.这样就可以了.


活塞可以在http://bitbucket.org/jespern/django-piston/wiki/Home找到 - "Django用于创建RESTful API的迷你框架....讲JSON,YAML,Python Pickle和XML(和HATEOAS) .)"

3> gsiegman..:

在我看来,海报提出的问题是最终结果如下:

例如,从这些模型开始:

class Entity(models.Model):
    name = models.CharField(...)

class Activity(models.Model):
    name = models.CharField(...)
    team_entity = models.ForeignKey(Entity)

class Event(models.Model):
    name = models.CharField(...)
    activity = models.ForeignKey(Activity)

结果为JSON:

{
    "model": "Entity",
    "name":  "Dallas Cowboys",
    "activities": [
        {
            "model": "Activity",
            "name": "Practice"
        },

        {
            "model": "Activity",
            "name": "Game"
            "events": [
                {
                    "model": "Event",
                    "name": "vs Washington Redskins"
                },

                {
                    "model": "Event",
                    "name": "vs Green Bay Packers"
                }
            ]
        }
    ]
}

从而保持亲子孙子(不是遗产,而是一对多的关系遍历).如果这不是最初的海报的意图,我道歉...但如果是这样,我也希望得到答案.


这不是答案......这是对问题的澄清.
具体如何 - 这可以实现吗?
推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有