SqlAlchemy не удалось инициализировать один или несколько картографовPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 SqlAlchemy не удалось инициализировать один или несколько картографов

Сообщение Anonymous »

Я знаю, что этот вопрос задавали часто, и поверьте мне, я проверил ответы, и мой код выглядит нормально, даже несмотря на то, что он выдает ошибку, поэтому это не так.
По сути, я был пытаюсь установить связь между двумя объектами: пользователем и тренировкой.

Код: Выделить всё

from sqlalchemy import Integer,VARCHAR,TIMESTAMP
from sqlalchemy.orm import mapped_column,relationship
from sqlalchemy.sql import func
from app.schemas.baseschema import Base

class User(Base):
__tablename__="users"
id=mapped_column(Integer,primary_key=True,autoincrement=True)
username=mapped_column(VARCHAR(255),unique=True,nullable=False)
email=mapped_column(VARCHAR(50),unique=True,nullable=False)
created_at=mapped_column(TIMESTAMP(timezone=True),default=func.current_timestamp())
updated_at=mapped_column(TIMESTAMP(timezone=True))
password_hash=mapped_column(VARCHAR(255),nullable=False)
workouts=relationship("Workout",back_populates="user")

Код: Выделить всё

from sqlalchemy import Integer,DATE,TEXT,ForeignKey
from sqlalchemy.orm import mapped_column,relationship
from sqlalchemy.sql import func
from app.schemas.baseschema import Base
from sqlalchemy.schema import ForeignKeyConstraint

class Workout(Base):
__tablename__="workouts"
id=mapped_column(Integer,primary_key=True,autoincrement=True)
date=mapped_column(DATE,default=func.current_date)
notes=mapped_column(TEXT)
user_id=mapped_column(Integer,ForeignKey("users.id"),nullable=False)
user=relationship("User",back_populates="workouts")
Я получаю следующую ошибку:

InvalidRequestError("При инициализации картографа Mapper[User(users )], выражению «Тренировка» не удалось найти имя («Тренировка»), рассмотрите возможность добавления этого отношения () к классу после обоих зависимых классов. были определено.").

Может ли кто-нибудь помочь мне определить проблему? На мой взгляд, существует класс Workout и есть пользовательское поле. Я никогда не использовал алхимию sql, а также новичок в Python.
Я проверил оба класса, чтобы убедиться, что я неправильно написал взаимосвязь, но мне показалось, что все в порядке. Я также пытался сравнить другие ответы, приведенные здесь, на ту же проблему, и пытался сопоставить их с моей ситуацией, но мне это не удалось

Подробнее здесь: https://stackoverflow.com/questions/793 ... initialize
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • SqlAlchemy не удалось инициализировать один или несколько картографов
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Конфигурация картографов MyBatis
    Anonymous » » в форуме JAVA
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Конфигурация картографов MyBatis
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Mapster.Tool использует codegen для создания картографов, но не DTO
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • MapStruct — вложенные многоуровневые «использования» или группировка картографов.
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»