Bạn có thể sử dụng biểu thức RawSQL:
ModelB.objects.filter(id__in=RawSQL(
'SELECT unnest(a.pk_values) FROM app_modela a WHERE a.id = %s',
[index_id]
))
Ngoài ra, bạn có thể tạo lại truy vấn chính xác mà bạn có trong câu hỏi của mình với thêm ():
ModelB.objects.extra(
tables=['foo_modela'],
where=[
'"app_modelb"."id" = ANY("app_modela"."pk_values")',
'"app_modela"."id" = %s',
],
params=[index_id],
)