如何解决django从queryset获得不同的外键
| 我有一个很大的django MySQL数据库,我想让它有效地工作: models.py:class Category(models.Model)
name = models.CharField()
class Article(models.Model)
start_date = models.DateTimeField(...)
end_date = models.DateTimeField(...)
active = models.BooleanField(...)
categories = models.ManyToManyField( Category )
我想基于“文章”查询集获取所有活动类别。我实际上是这样的:
actives_articles = Articles.objects.filter(start_date__gt = datetime.datetime.today(),end_date__lt = another_date,active = True)
actives_categories = Category.objects.filter(article__in = actives_articles).distinct().order_by(\'name\')
actives_articles
返回大约50k的结果,所以这根本没有效率。
有任何想法或指示吗?
谢谢 !
解决方法
我终于有了一些与此有关的东西:
now = datetime.datetime.now()
filters = {
\'article__active\': True,\'article__start_date__lte\':now,\'article__end_date__gte\':now,}
categs = Category.objects.filter(**filters).distinct()
愚蠢的我,谢谢Django!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。