0
是否有可能將下面的sql翻譯成django orm調用還是必須使用raw sql?需要幫助翻譯SQL到ORM調用
感謝您的幫助
我的模型:
class Parent(models.Model):
slug = models.SlugField()
class Child(models.Model):
slug = models.SlugField()
parent = models.ForeignKey('Parent')
value = models.CharField(max_length=128)
我的SQL:
select *
from parent as p
left join child as c on p.id = c.parent_id and c.slug in ('s0','s1','s2')
where p.id not in (select p.id
from parent as p
inner join child as c on p.id = c.parent_id and c.slug = 's3' and c.value = 'v3')
order by p.slug
感謝,我懷疑這條語句將返回不生孩子的父母,但我確實需要這些父母以及... – akonsu 2012-01-12 17:48:16
請參閱上面的更新。 – 2012-01-12 17:51:00
從此查詢返回的父項中獲取子項會導致額外的數據庫命中。我試圖解決的問題通常被稱爲「backwards select_related()」,我需要讓孩子以及他們的父母(包括沒有孩子的父母),我想在類似的查詢中做類似的事情到我發佈的那個。我在網上看到了一些使用字典等的解決方案,但我發現它們效率低下,因爲它們使用額外的內存來存儲這些關係... – akonsu 2012-01-12 17:57:15