Django: как сделать запросы между двумя таблицами, которые не связаны с моделью? - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть 2 модели, которые не связаны (возможно, это должно ...)

Мне нужно сделать запрос, чтобы выбрать все записи моей таблицы Фондовая С соответствующими строками в Parametrage на основе asp_sto_loc = asp_par_lo c

Что-то вроде SQL:

select * из оставленного pha_asp_sto объединения pha_asp_par в pha_asp_par.asp_par_loc = asp_sto 1012 *

Как сделать такой запрос в Django?

models.py

class Stock(models.Model):

    asp_sto_cle = models.AutoField(primary_key=True)
    asp_sto_loc = models.CharField("Site concerned", max_length=10, null=True, blank=True)
    asp_sto_pla = models.IntegerField("Quantity of placebos available", null=True, blank=True,)
    asp_sto_asp = models.IntegerField("Quantity of aspirin available", null=True, blank=True)

class Parametrage(models.Model):

    asp_par_cle = models.AutoField(primary_key=True)
    asp_par_loc = models.CharField("Site concerned by settings", max_length=10, null=True, blank=True)
    asp_par_ale = models.IntegerField("Site alert value for the site", null=True, blank=True,)
    asp_par_con = models.IntegerField("Site confort value for the site", null=True, blank=True,)

1 Ответ

0 голосов
/ 12 февраля 2020

Возможно дополнительно это будет работать в вашем случае:

Stock.objects.extra(
    select={
        field_name: f'SELECT {field_name} FROM Parametrage WHERE Parametrage.asp_par_loc = Stock.asp_sto_loc' for field_name in Parametrage._meta.fields if field_name != 'id'
   }
)
...