0
我在Django的模型,看起來像這樣(我已經簡化表&跳過不相關的領域,我不能改變表/關係。):獲取數據通過相關的外鍵
Class Attachment(models.Model):
name = models.CharField()
Class Email(models.Model):
subject = models.CharField()
from = models.ForeignKey(User)
attach = models.ForeignKey(Attachment)
Class User(models.Model):
name = models.CharField()
在我看來,我想查找發送此附件的所有Users
。所以,首先我獲取所有包含此附件
my_attachment = Attachment.objects.get(name='Picture1.jpg')
email_set = my_attachment.email_set.all()
什麼是獲取所有在電子郵件的from
字段中列出email_set
即不通過email_set循環用戶的高效方式的電子郵件。
User.objects.filter肯定? – hellsgate
當然!謝謝@ hellsgate! – danihp
在Django中工作和看起來很簡單 但它轉化爲一個可怕的sql語句:SELECT'user'.'id','user'.'name' FROM'user' INNER JOIN' email' ON('user'.' (''email'.'attach_id' ='attachment'.'id')WHERE'attachment'.'name' =%Picture1.jpg% – Medorator