(self, related_models)
| 435 | self._reload(related_models) |
| 436 | |
| 437 | def _reload(self, related_models): |
| 438 | # Unregister all related models |
| 439 | with self.apps.bulk_update(): |
| 440 | for rel_app_label, rel_model_name in related_models: |
| 441 | self.apps.unregister_model(rel_app_label, rel_model_name) |
| 442 | |
| 443 | states_to_be_rendered = [] |
| 444 | # Gather all models states of those models that will be rerendered. |
| 445 | # This includes: |
| 446 | # 1. All related models of unmigrated apps |
| 447 | for model_state in self.apps.real_models: |
| 448 | if (model_state.app_label, model_state.name_lower) in related_models: |
| 449 | states_to_be_rendered.append(model_state) |
| 450 | |
| 451 | # 2. All related models of migrated apps |
| 452 | for rel_app_label, rel_model_name in related_models: |
| 453 | try: |
| 454 | model_state = self.models[rel_app_label, rel_model_name] |
| 455 | except KeyError: |
| 456 | pass |
| 457 | else: |
| 458 | states_to_be_rendered.append(model_state) |
| 459 | |
| 460 | # Render all models |
| 461 | self.apps.render_multiple(states_to_be_rendered) |
| 462 | |
| 463 | def update_model_field_relation( |
| 464 | self, |
no test coverage detected