我讀過濾器和Django文檔排除,但我想知道,如果我將使用下面的代碼:Django過濾和排除對性能的影響?
Entry.objects.filter(
... headline__startswith='What'
...).exclude(
... pub_date__gte=datetime.now()
...).filter(
... pub_date__gte=datetime(2005, 1, 1)
...)
然後,將它造成1個查詢或查詢4?它會首先查詢並獲取所有對象,然後在從mysql/db獲取所有記錄後進行過濾和排除,或者它將全部在mysql/db級別完成。因爲如果它不會在數據庫級別完成,那麼它可能會導致性能問題。這就是爲什麼我想知道,將過濾和排除應用程序級別或數據庫級別的工作?