【发布时间】:2020-01-10 19:47:48
【问题描述】:
您好,我正在尝试为每个用户接收最后一条消息。我已经过滤掉了消息,但我收到了一个用户的许多消息。如何获取用户的最后一条消息。
queryset=MessageModel.objects.filter(
Q(sUser=self.request.user) | Q(rUser=self.request.user)
).order_by('-id')
return queryset
我从过滤中得到这个列表。
[
{
"message": "Hi b do you want to buy? 2",
"sUser": 1,
"rUser": 15,
"sent": true,
"pk": 8,
"user": {
"pk": 15
}
},
{
"message": "a to c",
"sUser": 1,
"rUser": 16,
"sent": true,
"pk": 7,
"user": {
"pk": 16
}
},
{
"message": "No thanks not buying this time",
"sUser": 15,
"rUser": 1,
"sent": false,
"pk": 6,
"user": {
"pk": 15
}
},
{
"message": "c to a",
"sUser": 16,
"rUser": 1,
"sent": false,
"pk": 4,
"user": {
"pk": 16
}
},
{
"message": "Hi b do you want to buy?",
"sUser": 1,
"rUser": 15,
"sent": true,
"pk": 1,
"user": {
"pk": 15
}
}
]
我只想收到带有 pk 8 和 7 的消息,因为它是给用户 15 和 16 的最后一条消息,但我收到了 15 和 16 的所有消息。
【问题讨论】:
标签: django sqlite django-models filter django-filter