Как создать внешний ключ для таблицы, которая не является частью SQLAlchemy ORM?

Я пытаюсь создать FK к таблице, которая управляется Django ORM, однако SQLA похоже, это не нравится.

class SomeSAModel(DeclarativeBase):
    user_id: Mapped[int] = mapped_column(
        sa.ForeignKey("users_customuser.id")  # this is a reference to a Django table
    )  

И вот какую ошибку я получаю, когда запускаю alembic revision --autogenerate

Если Django управляет таблицей, к имени столбца будет добавлен суффикс (_id) для FK. Вы должны явно передать имя столбца в mapped_column.

Насколько я помню, что-то вроде этого: mapped_column("customuser_id", sa.ForeignKey("users_customuser.id"))

Дважды проверьте имя столбца.

Но я так и не понял, почему вы также используете Alembic для Django-управляемой базы данных.

Вернуться на верх