2011-05-23 46 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