我正在使用 Django 和 Python 3.7。我有這兩個模型,通過外鍵相互關聯(lián)......class Website(models.Model): objects = WebsiteManager() path = models.CharField(max_length=100)class Article(models.Model): website = models.ForeignKey(Website, on_delete=models.CASCADE, related_name='articlesite') title = models.TextField(default='', null=False) url = models.TextField(default='', null=False) created_on = models.DateTimeField(db_index=True, default=datetime.now)我想編寫一個 Django 查詢,返回與它們相關的 100 多篇文章的網(wǎng)站。在 PostGres 中,我可以編寫此查詢select w.id, count(*) FROM website w, article a where w.id = a.website_id group by w.id;但我不清楚如何使用 Django 查詢來做到這一點。如果 COUNT 函數(shù),我如何編寫一個查詢條件?編輯:我修改了我的查詢以添加條件...qset = Website.objects.annotate(articlesite_count=Count('articlesite')).filter( articlesite__edited_date__null=True, articlesite_count__gte=100)但現(xiàn)在這導致錯誤Unsupported lookup 'null' for DateTimeField or join on the field not permitted.
1 回答

翻閱古今
TA貢獻1780條經(jīng)驗 獲得超5個贊
from django.db.models import Count
Website.objects.annotate(articlesite_count=Count('articlesite')).filter(articlesite_count__gte=100)
更新-1
from django.db.models import Count
Website.objects.filter(articlesite__edited_date__isnull=True).annotate(
articlesite_count=Count('articlesite')).filter(
articlesite_count__gte=100)
添加回答
舉報
0/150
提交
取消