Skip to content

Commit 3d4fffe

Browse files
authored
Merge pull request #90 from Mogost/deferred-loading
Fix deferred loading
2 parents 88843ef + 42d29f7 commit 3d4fffe

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

django_cte/cte.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ def queryset(self):
109109
query = CTEQuery(cte_query.model)
110110
query.join(BaseTable(self.name, None))
111111
query.default_cols = cte_query.default_cols
112+
query.deferred_loading = cte_query.deferred_loading
112113
if cte_query.annotations:
113114
for alias, value in cte_query.annotations.items():
114115
col = CTEColumnRef(alias, self.name, value.output_field)

tests/test_manager.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,3 +104,12 @@ def test_cte_queryset_with_custom_queryset(self):
104104
('venus', 22, 'sun'),
105105
('venus', 23, 'sun'),
106106
])
107+
108+
def test_cte_queryset_with_deferred_loading(self):
109+
cte = With(
110+
OrderCustomManagerNQuery.objects.order_by("id").only("id")[:1]
111+
)
112+
orders = cte.queryset().with_cte(cte)
113+
print(orders.query)
114+
115+
self.assertEqual([x.id for x in orders], [1])

0 commit comments

Comments
 (0)