sql >> Database >  >> RDS >> PostgreSQL

Converteer django RawQuerySet naar Queryset

U kunt een RawSQL-expressie gebruiken:

ModelB.objects.filter(id__in=RawSQL(
    'SELECT unnest(a.pk_values) FROM app_modela a WHERE a.id = %s',
    [index_id]
))

Als alternatief kunt u de exacte vraag in uw vraag reproduceren met extra():

ModelB.objects.extra(
    tables=['foo_modela'],
    where=[
        '"app_modelb"."id" = ANY("app_modela"."pk_values")',
        '"app_modela"."id" = %s',
    ],
    params=[index_id],
)


  1. Django cache.set() veroorzaakt dubbele sleutelfout

  2. Trends in databasehardware en -infrastructuur

  3. Wat te controleren in MySQL 8.0

  4. Groeperen op clausule in mySQL en postgreSQL, waarom de fout in postgreSQL?