Предположим, у меня есть следующие три модели, как показано ниже: Я хочу создать запрос модели Django для архивирования того же эффекта, что и следующий оператор SQL.Django model internal join ORM issues
SQL заявление
select B.value, C.special
from B inner join C
where B.version = C.version and B.order = C.order;
я получил следующие три модели:
class Process(models.Model):
name = models.CharField(max_length=30)
description = models.CharField(max_length=150)
class ProcessStep(models.Model):
process = models.ForeignKey(Process)
name = models.CharField(max_length=30)
...
order = models.SmallIntegerField(default=1)
version = models.SmallIntegerField(null=True)
class Approve(models.Model):
process = models.ForeignKey(Process)
content = models.CharField(max_length=300)
...
version = models.SmallIntegerField(null=True)
order = models.SmallIntegerField(default=0)
Я хочу, чтобы найти все Утверждает, которые имеют один и тот же (версия, порядок) соответствия кортежа от модели ProcessStep ,
Как эти две модели, связанные друг с другом? – AKS
Две модели имели те же поля (версия, заказ), с которыми я хочу сопоставлять. Отфильтровать записи ** Одобрить **, который имеет ту же комбинацию (версия, заказ). – shady
Что я имею в виду, это те, которые связаны с одним и тем же «процессом» или нет? – AKS