我有Django的兩款車型,我從我的Json得到輸出:如何合併這兩個Jsons?
模型(簡體)
class ServiceSubCategory(models.Model):
service_category = models.ForeignKey(ServiceCategory)
name_fa = models.CharField(default='', max_length=200)
name_en = models.CharField(default='', max_length=200)
def __unicode__(self):
return self.service_category.name_fa+' -> '+ self.name_fa
class Service(models.Model):
service_sub_category = models.ForeignKey(ServiceSubCategory)
img_fa = models.ImageField(default='img/default_service.png',upload_to='img/service/')
caption_fa = models.CharField(default='',max_length=200)
caption_en = models.CharField(default='',max_length=200)
def as_json(self):
return {
'id': self.id,
'caption_fa': self.caption_fa,
'caption_en': self.caption_en,
'img_fa': unicode(self.img_fa),
}
我想要得到的第一個模型主鍵值並用JSON進行合併
我從ServiceSubCategory得到這個JSON:
[1,2,3,4,5,6,7,8,9,10]
我是從第二個模型得到
通過運行此代碼:
idJson=json.dumps(list(ServiceSubCategory.objects.values_list('id',flat=True)))
並獲得此JSON:
[{"caption_fa": "some value", "caption_en": "something", "id": 2, "img_fa": "img/default_service.png"},
{"caption_fa": "somthing", "caption_en": "somthing", "id": 1, "img_fa": "img/service/IMAG0099_1H3sdjX.jpg"}]
通過這個
cat = ServiceSubCategory.objects.get(id=1)
dictionary=[obj.as_json() for obj in Service.objects.filter(service_sub_category=cat)]
我想是要合併這兩個JSons得到的東西是這樣的:
[["1":{"caption_fa": "some value", "caption_en": "something", "id": 2, "img_fa": "img/default_service.png"},
{"caption_fa": "somthing", "caption_en": "somthing", "id": 1, "img_fa": "img/service/IMAG0099_1H3sdjX.jpg"}],
["2":{"caption_fa": "some value", "caption_en": "something", "id": 3, "img_fa": "img/default_service.png"},
{"caption_fa": "somthing", "caption_en": "somthing", "id": 4, "img_fa": "img/service/IMAG0099_1H3sdjX.jpg"}]]
這是我正在努力做到這一點:
def service(request):
idList=ServiceSubCategory.objects.values_list('id',flat=True)
idJson=json.dumps(list(ServiceSubCategory.objects.values_list('id',flat=True)))
for i in idList:
dictionary=[obj.as_json() for obj in Service.objects.filter(service_sub_category=i)]
idJson[i].append(dictionary) #Error
return HttpResponse(idJson, content_type='application/json')
而且我在idJson[i].append(dictionary)
收到錯誤:
'海峽' 對象有沒有屬性 '追加'
我真的不知道我該怎麼做。任何幫助,將不勝感激。
無論您在這裏打印的結果如何,在Python中的語句。只需複製粘貼到您選擇的python shell中,您將會看到 – bmbigbang
@bmbigbang我已經測試過並得到了我的答案。 –