简体   繁体   中英

Make a query to django models

How is "translation" for following query to django queryset?

SELECT guid FROM feedme_feeditem
WHERE feed_id IN
(SELECT id FROM feedme_feed WHERE country_id IN 
(SELECT id FROM feedme_country WHERE name='NL'))

models.py

    class Country(models.Model):
        name = models.CharField(max_length=250, blank=True)

    class Category(models.Model):
        name = models.CharField(max_length=250, blank=True)
        slug = models.SlugField(blank=True, null=True, editable=False)
        user = models.ForeignKey(User, blank=True, null=True)
        country = models.ForeignKey(Country, blank=True, null=True)

    class Feed(models.Model):
        link = models.CharField(blank=True, max_length=450)
        url = models.CharField(blank=True, max_length=450)
        title = models.CharField(blank=True, null=True, max_length=250)
        category = models.ForeignKey(Category, blank=True, null=True)
        user = models.ForeignKey(User, blank=True, null=True)
        last_update = models.DateField(blank=True, null=True, editable=False)
        country = models.ForeignKey(Country, blank=True, null=True)

    class FeedItem(models.Model):
        title = models.CharField(max_length=350, blank=True)
        link = models.URLField(blank=True)
        content = models.TextField(blank=True)
        feed = models.ForeignKey(Feed, blank=True, null=True)
        read = models.BooleanField(default=False)
        guid = models.CharField(max_length=255)
        pub_date = models.DateTimeField()

To make more simple I already tried add country = models.ForeignKey(Country, blank=True, null=True) to FeedItem class but does't work how i expected.

guids = FeedItem.objects.filter(feed__country__name = 'NL')

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM