【发布时间】:2011-10-22 00:02:43
【问题描述】:
我有一个定义一对多模型关系的 Django 应用程序。模型如下所示:
from django.db import models
# Create your models here.
class StreamNetwork(models.Model):
name = models.CharField(max_length=50)
def __unicode__(self):
return self.name
class Stream(models.Model):
name = models.CharField(max_length=50)
custom_url = models.CharField(max_length=100, null=True)
network = models.ForeignKey(StreamNetwork)
score = models.SmallIntegerField()
def __unicode__(self):
return self.name
稍后我想将我的所有 Stream 条目序列化为 json。我是这样做的:
from django.core.serializers import serialize
string = serialize(format, Stream.objects.all())
预期结果将是数据库中行的简单序列化 json 版本。相反,输出看起来像这样:
[
{
"pk" : 1,
"model" : "website.stream",
"fields" :
{
"network" : 2,
"score" : 53,
"name" : "DangerousDan1",
"custom_url" : null
}
},
...
此外,我想在输出中获取流网络的名称,而不是 id。
那么有没有一种 Django 方法可以自定义序列化输出的格式?
感谢任何有用的回复
【问题讨论】:
标签: python mysql django models