2016-12-21 10 views
0

以下の通りですモデル:django ormを使って少なくとも1つの記事を書いた記者を見つけるにはどうすればいいですか?

from django.db import models 

class Reporter(models.Model): 
    first_name = models.CharField(max_length=30) 
    last_name = models.CharField(max_length=30) 
    email = models.EmailField() 

    def __str__(self):    # __unicode__ on Python 2 
     return "%s %s" % (self.first_name, self.last_name) 

class Article(models.Model): 
    headline = models.CharField(max_length=100) 
    pub_date = models.DateField() 
    reporter = models.ForeignKey(Reporter, on_delete=models.CASCADE) 

    def __str__(self):    # __unicode__ on Python 2 
     return self.headline 

    class Meta: 
     ordering = ('headline',) 

どのように私は、DjangoのORMを使用して少なくとも一つの記事を書いた記者を見つけることができますか?

答えて

2

あなたはisnullを使用して記者フィルタリングすることができます。その後、

Reporter.objects.filter(article__isnull=False).distinct() 
+1

おおの素敵を。リバースクエリーには+1があります。 –

+0

@刘胜朋私のコードは少なくとも1つの記事を書いたすべての記者を返します。 Django ormを使って少なくとも1つの記事を書いた記者を見つけるにはどうすればいいですか?それでも、2つ以上の記事を書いた著者を選択する必要があるのなら、あなたは正しいです。 – neverwalkaloner

関連する問題