(self, app_label: str, state: State)
| 556 | return f"Rename field {self.old_name} to {self.new_name} on {self.model_name}" |
| 557 | |
| 558 | def state_forward(self, app_label: str, state: State) -> None: |
| 559 | model_state = self.get_model_state(state, app_label, self.model_name) |
| 560 | |
| 561 | if self.new_name in model_state.fields: |
| 562 | raise IncompatibleStateError( |
| 563 | f"Field {self.new_name} already present on model {app_label}.{self.model_name}" |
| 564 | ) |
| 565 | |
| 566 | field = model_state.fields.pop(self.old_name, None) |
| 567 | if not field: |
| 568 | raise IncompatibleStateError( |
| 569 | f"Field {self.old_name} is not present on model {app_label}.{self.model_name}" |
| 570 | ) |
| 571 | |
| 572 | model_state.fields[self.new_name] = deepcopy(field) |
| 573 | models_to_reload = {(app_label, self.model_name)} |
| 574 | if isinstance(field, DIRECT_RELATION_FIELDS): |
| 575 | models_to_reload.add(state.apps.split_reference(field.model_name)) |
| 576 | |
| 577 | state.reload_models(models_to_reload) |
| 578 | |
| 579 | async def database_forward( |
| 580 | self, |
nothing calls this directly
no test coverage detected