2011-05-23 69 views
4

所以沒有外鍵進入,我有這2種型號:Django的ORM:看看模型在另一個模型

class Site(models.Model): 
    ... 
    ... 

和另一個問題:

class SiteInfo(models.Model): 
    ... 
    ... 
    site = models.ForeignKey(Site) 

是否有一種方式來獲得在SiteInfo中沒有條目的網站?

回答

9

Site.objects.filter(siteinfo__isnull=True)

+0

我沒有現在旁邊的代碼來測試您的想法,但我看到您將所有網站列爲空的網站...所以我認爲您的意思是SiteInfo。 – 2011-05-23 08:56:06

+0

是的,我已經修好了。 – DrTyrsa 2011-05-23 08:56:47

+0

我需要SiteInfo中的每個條目都具有站點關聯。我很想知道哪些網站沒有定義SiteInfo。你的建議能爲此工作嗎? – 2011-05-23 08:57:41

-1

我認爲這會工作,但不是那麼有效:

with_no_site_info在Site.objects.all()= [網站的網站,如果site.site_infos_set.all()計數()。 == 0]

+3

這是一個非常糟糕的主意。 – DrTyrsa 2011-05-23 08:54:42

+0

我同意DrTyrsa在這一個。如果我有1000多個網站,它將會受到服務器查詢的影響。 – 2011-05-23 08:58:57

+0

「我認爲這會奏效,但效率不高:」我在寫這篇文章之前就這樣說過,認爲你有1000個網站。 – MBarsi 2011-05-23 09:02:18