djangoオブジェクトのシリアライズに問題があります。問題は、外部キーがあることです。シリアライゼーションには、インデックスだけでなく、参照されたオブジェクトからのデータが必要です。Django jsonのシリアル化の問題
たとえば、私はスポンサーのデータフィールドを "13"ではなく "sponsor.last_name、sponsor.first_name"としたいと思います。
シリアル化を修正するにはどうすればよいですか?
jsonデータ: {"totalCount": "2"、 "activities": "{" "pk":1、 "model": "app.activity"、 "fields":{"activity_date": "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")