我有一個ViewSet
有一個get_queryset
方法。該方法篩選使用Q
對象的對象:爲什麼Q對象返回重複的結果?
def get_queryset(self):
request = self.request
query = Ticket.objects.filter(
Q(message_type__users__in=[request.user])|
Q(reference__to_user=request.user)
)
return query
輸出:
[<Ticket: 24>, <Ticket: 24>, <Ticket: 24>, <Ticket: 24>]
它返回相同的票證(ID = 24)的四倍。對於 'GET' 來自客戶端的請求,我得到MultipleObjectsReturned
例外:
get() returned more than one Ticket -- it returned 4!
爲什麼Q對象返回多個結果?