【发布时间】:2011-08-26 19:50:31
【问题描述】:
我想序列化模型:
class Schedule(models.Model):
Title = models.CharField(max_length=512)
class ScheduleEvent1(models.Model):
ScheduleContent = models.ForeignKey(Schedule)
Description = models.TextField()
class ScheduleEvent2(models.Model):
ScheduleContent = models.ForeignKey(Schedule)
AnotherField = models.TextField()
ShortDescription = models.TextField()
像serializers.serialize('json', Schedule.objects.all())那样做某事
结果喜欢
[
{
"pk": 2,
"model": "Schedule",
"fields": {
"Title": "Some Title",
"ScheduleEvent1": [
{
"pk": 19,
"model": "ScheduleEvent1",
"fields": {
"Description": "Some Descr",
}
},
{
"pk": 20,
"model": "ScheduleEvent1",
"fields": {
"Description": "Some Descr2222",
}
}
],
"ScheduleEvent2": [
{
"pk": 15,
"model": "ScheduleEvent2",
"fields": {
"AnotherField": "Some text",
"ShortDescription" : "Some text ...",
}
}
]
}
}
]
一般。我有实体树。我需要从根目录序列化这棵树。
tnx 寻求帮助。
【问题讨论】:
-
你有什么问题?这在 Django 中很容易做到。如果你使用活塞,那就更容易了。请发布您的代码和您遇到的错误。
-
哦。我不知道我该怎么做:(你能显示示例代码吗?
-
在我的示例中,我只有树的一部分。实际上树的深度可能大于2。
-
@Andrey:1)查询。 docs.djangoproject.com/en/1.3/topics/db/queries 2) 序列化。 docs.djangoproject.com/en/1.3/topics/serialization我不需要提供代码。它已经在 Django 的文档中。你有什么问题?请发布您的代码和您遇到的错误。
-
我已阅读文档。我可以序列化这个例子。但我无法序列化更复杂的情况:1)两个以上不同的 ScheduleEvent 模型(ScheduleEvent3、ScheduleEvent4、ScheduleEvent5、ScheduleEvent6、...); 2)树的深度大于2。Schedule有Session = models.ForeignKey(Session),Session有OneMoreModel = models.ForeignKey(OneMoreModel)。我想写类似 serializers.serialize('json', OneMoreModel.objects.all()) 的东西并获得完整的 json。
标签: django json serialization models