Django json序列化问题

Django json序列化问题,django,json,serialization,Django,Json,Serialization,我很难序列化django对象。问题是有外键。我希望序列化包含来自引用对象的数据,而不仅仅是索引 例如,我希望赞助商数据字段显示“赞助商.姓,赞助商.名”,而不是“13” 如何修复序列化 json数据: {“totalCount”:“2”,“活动”:[{“pk”:1,“模型”:“应用程序活动”,“字段”:{“活动日期”:“2010-12-20”,“说明”:“我的活动”,“赞助商”:13,“地点”:1 型号代码: class Activity(models.Model): activity_d

我很难序列化django对象。问题是有外键。我希望序列化包含来自引用对象的数据,而不仅仅是索引

例如,我希望赞助商数据字段显示“赞助商.姓,赞助商.名”,而不是“13”

如何修复序列化

json数据: {“totalCount”:“2”,“活动”:[{“pk”:1,“模型”:“应用程序活动”,“字段”:{“活动日期”:“2010-12-20”,“说明”:“我的活动”,“赞助商”:13,“地点”:1

型号代码:

class Activity(models.Model): 
  activity_date = models.DateField()
  description = models.CharField(max_length=200)
  sponsor = models.ForeignKey(Sponsor)
  location = models.ForeignKey(Location)

class Sponsor(models.Model):
  last_name = models.CharField(max_length=20)
  first_name= models.CharField(max_length=20)
  specialty = models.CharField(max_length=100)

class Location(models.Model):
  location_num = models.IntegerField(primary_key=True)
  location_name = models.CharField(max_length=100)

def activityJSON(request):
    activities = Activity.objects.all()
    total = activities.count()
    activities_json = serializers.serialize("json", activities)
    data = "{\"totalCount\":\"%s\",\"activities\":%s}" % (total, activities_json)
    return HttpResponse(data, mimetype="application/json")

似乎准确地解释了如何执行此操作。请阅读关于自然键序列化的部分。

似乎准确地解释了如何执行此操作。请阅读关于自然键序列化的部分。

此小库对于django非常方便:


与标准编码器相比,它允许更多的定制。

这个小库对于django非常方便:


它允许比标准编码器更多的定制。

any2any还包含允许完全定制输出格式的序列化程序:


any2any还包含允许完全自定义输出格式的序列化程序:


向序列化程序添加关系,如下所示:

activities_json = serializers.serialize("json", activities, relations=('sponsor',))
那么你所需要的就是:

return HttpResponse(activities_json, mimetype="application/json")
然后确保还安装了django库Wadofsuff


希望这有帮助!

向序列化程序添加关系,如下所示:

activities_json = serializers.serialize("json", activities, relations=('sponsor',))
那么你所需要的就是:

return HttpResponse(activities_json, mimetype="application/json")
然后确保还安装了django库Wadofsuff

希望这有帮助