| 405 | return f"Add field {self.name} to {self.model_name}" |
| 406 | |
| 407 | def state_forward(self, app_label: str, state: State) -> None: |
| 408 | model_state = self.get_model_state(state, app_label, self.model_name) |
| 409 | |
| 410 | if self.name in model_state.fields: |
| 411 | raise IncompatibleStateError( |
| 412 | f"Field {self.name} already present on model {app_label}.{self.model_name}" |
| 413 | ) |
| 414 | |
| 415 | model_state.fields[self.name] = cast(Field, deepcopy(self.field)) |
| 416 | models_to_reload = {(app_label, self.model_name)} |
| 417 | |
| 418 | if isinstance(self.field, DIRECT_RELATION_FIELDS): |
| 419 | models_to_reload.add(state.apps.split_reference(self.field.model_name)) |
| 420 | |
| 421 | state.reload_models(models_to_reload) |
| 422 | |
| 423 | async def database_forward( |
| 424 | self, |