SqlAlchemy, ein oder mehrere Mapper konnten nicht initialisiert werdenPython

Python-Programme
Guest
 SqlAlchemy, ein oder mehrere Mapper konnten nicht initialisiert werden

Post by Guest »

Ich weiß, dass diese Frage oft gestellt wurde und glauben Sie mir, ich habe die Antworten überprüft und für mich sieht mein Code gut aus, auch wenn er einen Fehler ausgibt, also ist das nicht der Fall.
Im Grunde war ich das Ich versuche, eine Beziehung zwischen zwei Entitäten einzurichten: Benutzer und Training.

Code: Select all

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")

Code: Select all

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")
Der Fehler, den ich erhalte, ist dieser:

InvalidRequestError("Bei der Initialisierung des Mappers Mapper[User(users )], Ausdruck „Workout“ konnte keinen Namen finden („Workout“). Wenn es sich um einen Klassennamen handelt, sollten Sie erwägen, diese Beziehung() zur Klasse nach beiden abhängigen Klassen hinzuzufügen wurden definiert.")

Kann mir jemand helfen, das Problem zu identifizieren? Für mich sieht es so aus, als gäbe es die Workout-Klasse und sie hätte ein Benutzerfeld. Ich habe noch nie SQL Alchemy verwendet und bin auch neu in Python.
Ich habe beide Klassen überprüft, um zu sehen, ob ich die Beziehung falsch geschrieben habe, aber für mich sah es gut aus. Ich habe auch versucht, andere hier gegebene Antworten auf das gleiche Problem zu vergleichen und sie in einen Zusammenhang mit meiner Situation zu bringen, aber es ist mir nicht gelungen

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post