Учитывая эти классы и отношения 1 к N, я получаю ошибку времени компиляции: ValueError: не имеет соответствующего типа SQLAlchemy, ссылаясь на задачи поля Category.py: list["Todo"], хотя связь герой/команда работает.
Я также пытался заменить тип UUID и использовать int в обоих классах, без успех.
# hero.py (works)
class Hero(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True)
....
team_id: int | None = Field(default=None, foreign_key="team.id")
team: Team | None = Relationship(back_populates="heroes")
# team.py (works)
class Team(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True)
.....
heroes: list["Hero"] = Relationship(back_populates="team")
# todo.py (does not work)
class Todo(SQLModel, table=True):
id: UUID | None = Field(
default=uuid4(),
primary_key=True,
)
......
category_id: UUID | None = Field(default=None, foreign_key="category.id")
category: Category | None = Relationship(back_populates="todos")
# category.py (does not work => ValueError: )
class Category(SQLModel, table=True):
id: UUID | None = Field(default=uuid4(), primary_key=True)
.....
todos: list["Todo"] = Relationship(back_populates="category")
Полный журнал ошибок:
import todo.models.category
File ".../todo/models/category.py", line 9, in
class Category(SQLModel, table=True):
File ".../lib/python3.12/site-packages/sqlmodel/main.py", line 559, in __new__
col = get_column_from_field(v)
^^^^^^^^^^^^^^^^^^^^^^^^
File "../lib/python3.12/site-packages/sqlmodel/main.py", line 708, in get_column_from_field
sa_type = get_sqlalchemy_type(field)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "../lib/python3.12/site-packages/sqlmodel/main.py", line 697, in get_sqlalchemy_type
raise ValueError(f"{type_} has no matching SQLAlchemy type")
ValueError: has no matching SQLAlchemy type
Подробнее здесь: https://stackoverflow.com/questions/792 ... chemy-type
Sqlmodel ValueError: <класс 'list'> не имеет соответствующего типа SQLAlchemy ⇐ Python
Программы на Python
1737288465
Anonymous
Учитывая эти классы и отношения 1 к N, я получаю ошибку времени компиляции: ValueError: не имеет соответствующего типа SQLAlchemy, ссылаясь на задачи поля Category.py: list["Todo"], хотя связь герой/команда работает.
Я также пытался заменить тип UUID и использовать int в обоих классах, без успех.
# hero.py (works)
class Hero(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True)
....
team_id: int | None = Field(default=None, foreign_key="team.id")
team: Team | None = Relationship(back_populates="heroes")
# team.py (works)
class Team(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True)
.....
heroes: list["Hero"] = Relationship(back_populates="team")
# todo.py (does not work)
class Todo(SQLModel, table=True):
id: UUID | None = Field(
default=uuid4(),
primary_key=True,
)
......
category_id: UUID | None = Field(default=None, foreign_key="category.id")
category: Category | None = Relationship(back_populates="todos")
# category.py (does not work => ValueError: )
class Category(SQLModel, table=True):
id: UUID | None = Field(default=uuid4(), primary_key=True)
.....
todos: list["Todo"] = Relationship(back_populates="category")
Полный журнал ошибок:
import todo.models.category
File ".../todo/models/category.py", line 9, in
class Category(SQLModel, table=True):
File ".../lib/python3.12/site-packages/sqlmodel/main.py", line 559, in __new__
col = get_column_from_field(v)
^^^^^^^^^^^^^^^^^^^^^^^^
File "../lib/python3.12/site-packages/sqlmodel/main.py", line 708, in get_column_from_field
sa_type = get_sqlalchemy_type(field)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "../lib/python3.12/site-packages/sqlmodel/main.py", line 697, in get_sqlalchemy_type
raise ValueError(f"{type_} has no matching SQLAlchemy type")
ValueError: has no matching SQLAlchemy type
Подробнее здесь: [url]https://stackoverflow.com/questions/79296853/sqlmodel-valueerror-class-list-has-no-matching-sqlalchemy-type[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия