|
6 | 6 |
|
7 | 7 | from django_memoized_prefetch import MemoizedPrefetch, MemoizedPrefetchConfig
|
8 | 8 | from tests.test_project.test_app.factories import (
|
| 9 | + SomeChildModelFactory, |
9 | 10 | SomeDifferentParentModelFactory,
|
10 | 11 | SomeModelFactory,
|
11 | 12 | SomeParentModelFactory,
|
@@ -115,6 +116,8 @@ def test_memoized_prefetch(
|
115 | 116 | with django_assert_num_queries(0): # all parents already fetched
|
116 | 117 | memoized_prefetch.process_chunk(objects)
|
117 | 118 |
|
| 119 | + assert objects |
| 120 | + |
118 | 121 | for obj in objects:
|
119 | 122 | # does not throw seal attribute -> fetched in process_chunk
|
120 | 123 | assert obj.some_parent_model is not None
|
@@ -151,6 +154,8 @@ def test_memoized_prefetch_many_to_many(
|
151 | 154 | with django_assert_num_queries(0): # already fetched
|
152 | 155 | memoized_prefetch.process_chunk(objects)
|
153 | 156 |
|
| 157 | + assert objects |
| 158 | + |
154 | 159 | for obj in objects:
|
155 | 160 | related_models = list(obj.some_related_models.all())
|
156 | 161 | assert len(related_models) == 2
|
@@ -178,22 +183,24 @@ def test_nullable_field(
|
178 | 183 | @pytest.fixture
|
179 | 184 | def child_models(self, objects_some_different_parent_a, objects_some_different_parent_b) -> list[SomeChildModel]:
|
180 | 185 | return [
|
181 |
| - SomeChildModel(some_model=some_model) |
| 186 | + SomeChildModelFactory(some_model=some_model) |
182 | 187 | for some_model in itertools.chain(objects_some_different_parent_a, objects_some_different_parent_b)
|
183 | 188 | ]
|
184 | 189 |
|
185 | 190 | def test_nested(self, child_models: list[SomeChildModel]):
|
186 | 191 | memoized_prefetch = MemoizedPrefetch(
|
187 | 192 | MemoizedPrefetchConfig(SomeParentModel, ["some_model__some_parent_model"], prefetch_all=True),
|
188 | 193 | MemoizedPrefetchConfig(
|
189 |
| - SomeDifferentParentModel, ["some_model__some_other_different_parent"] |
| 194 | + SomeDifferentParentModel, ["some_model.some_other_different_parent"] |
190 | 195 | ), # support both . and __
|
191 | 196 | )
|
192 | 197 |
|
193 | 198 | objects = list(SomeChildModel.objects.select_related("some_model").seal())
|
194 | 199 |
|
195 | 200 | memoized_prefetch.process_chunk(objects)
|
196 | 201 |
|
| 202 | + assert objects |
| 203 | + |
197 | 204 | for obj in objects:
|
198 | 205 | # does not throw seal attribute -> fetched in process_chunk
|
199 | 206 | assert obj.some_model.some_parent_model is not None
|
|
0 commit comments