如何从不同模型的json响应列表中查询集?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从不同模型的json响应列表中查询集?相关的知识,希望对你有一定的参考价值。

我有两个这样的模特

class User(models.Model):
   user_id = models.IntegerField(primary_key=True)
   name = models.CharField(max_length=18)
   last_name = models.CharField(max_length=10)
   age = models.CharField(max_length=10)


class Friend(models.Model):
   friend_id = models.IntegerField(primary_key=True)
   name = models.CharField(max_length=18)
   age = models.CharField(max_length=10)

friend_iduser_id是同一个id

users = User.objects.filter(user_id=1)
friends = Friend.objects.filter(friend_id=1)

我像这样建立联盟

merge = list(users) + list(friends)
[<User: User object (1)>, <Friend: Friend object (1)>] 

我想做的是来自merge的json回复

HttpResponse(json.dumps(merge), content_type='application/json')

我希望你理解我的问题以及如何实现它的一些想法

答案

我这样解决了我的问题

merge = sorted( chain(users, friends) key=attrgetter('1'))

data = serializers.serialize('json', merge)
return HttpResponse(data, content_type='application/json')

以上是关于如何从不同模型的json响应列表中查询集?的主要内容,如果未能解决你的问题,请参考以下文章