我有这样的查询:
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)