我有这样的查询:

uids = Message.objects.filter(content_type_id = offer_ct_id).values_list('content_uid', flat=True)

offer_uids = Offer.objects.filter(uid__in=uids).values_list('uid', flat=True)


其中uids是UUID的列表

[UUID('e7571ea3-b5b7-48e5-b015-1f03133f2b0c'), UUID('e4e7f0c9-c68d-462e-8bcd-0ae69e43d11f')] and


Offer模型中的uid是Character字段。
所以当我使用上面的查询时,出现错误


  ProgrammingError:运算符不存在:character = uuid LINE 1: ...CT U0."uid" FROM "offers_offer" U0 WHERE U0."uid" IN (SELECT...


我该如何解决?

最佳答案

尝试这个:

  offer_uids = Offer.objects.filter(uid__in=[ str(uid) for uid in uids]).values_list('uid', flat=True)

07-24 21:32