(self, format)
| 173 | |
| 174 | |
| 175 | def forward_ref_m2m_test(self, format): |
| 176 | t1 = NaturalKeyThing.objects.create(key="t1") |
| 177 | t2 = NaturalKeyThing.objects.create(key="t2") |
| 178 | t3 = NaturalKeyThing.objects.create(key="t3") |
| 179 | t1.other_things.set([t2, t3]) |
| 180 | string_data = serializers.serialize( |
| 181 | format, |
| 182 | [t1, t2, t3], |
| 183 | use_natural_primary_keys=True, |
| 184 | use_natural_foreign_keys=True, |
| 185 | ) |
| 186 | NaturalKeyThing.objects.all().delete() |
| 187 | objs_with_deferred_fields = [] |
| 188 | for obj in serializers.deserialize( |
| 189 | format, string_data, handle_forward_references=True |
| 190 | ): |
| 191 | obj.save() |
| 192 | if obj.deferred_fields: |
| 193 | objs_with_deferred_fields.append(obj) |
| 194 | for obj in objs_with_deferred_fields: |
| 195 | obj.save_deferred_fields() |
| 196 | t1 = NaturalKeyThing.objects.get(key="t1") |
| 197 | t2 = NaturalKeyThing.objects.get(key="t2") |
| 198 | t3 = NaturalKeyThing.objects.get(key="t3") |
| 199 | self.assertCountEqual(t1.other_things.all(), [t2, t3]) |
| 200 | |
| 201 | |
| 202 | def forward_ref_m2m_with_error_test(self, format): |
nothing calls this directly
no test coverage detected