diff --git a/python/orm/richie/audiobook.py b/python/orm/richie/audiobook.py index 0b8d6d4..00ead7b 100644 --- a/python/orm/richie/audiobook.py +++ b/python/orm/richie/audiobook.py @@ -2,7 +2,7 @@ from __future__ import annotations -from sqlalchemy import ForeignKey, String, UniqueConstraint +from sqlalchemy import ForeignKey, UniqueConstraint from sqlalchemy.orm import Mapped, mapped_column, relationship from python.orm.richie.base import TableBase @@ -14,7 +14,7 @@ class AudiobookAuthor(TableBase): __tablename__ = "audiobook_author" __table_args__ = (UniqueConstraint("name"),) - name: Mapped[str] = mapped_column(String, unique=True) + name: Mapped[str] books: Mapped[list[Audiobook]] = relationship("Audiobook", back_populates="author") series: Mapped[list[AudiobookSeries]] = relationship("AudiobookSeries", back_populates="author") @@ -26,7 +26,7 @@ class AudiobookSeries(TableBase): __tablename__ = "audiobook_series" __table_args__ = (UniqueConstraint("author_id", "name"),) - name: Mapped[str] = mapped_column(String) + name: Mapped[str] author_id: Mapped[int] = mapped_column(ForeignKey("main.audiobook_author.id", ondelete="CASCADE")) author: Mapped[AudiobookAuthor] = relationship("AudiobookAuthor", back_populates="series") @@ -46,7 +46,7 @@ class Audiobook(TableBase): ), ) - title: Mapped[str] = mapped_column(String) + title: Mapped[str] author_id: Mapped[int] = mapped_column(ForeignKey("main.audiobook_author.id", ondelete="CASCADE")) series_id: Mapped[int | None] = mapped_column(ForeignKey("main.audiobook_series.id", ondelete="SET NULL")) series_index: Mapped[float] = mapped_column(default=0.0)