Coverage for src/app/modules/cards/model.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.14.3, created at 2026-06-24 08:34 +0000

1from sqlalchemy import ForeignKey, String, Text 

2from sqlalchemy.orm import Mapped, mapped_column, relationship 

3 

4from app.db.base import Base 

5 

6 

7class Card(Base): 

8 __tablename__ = "cards" 

9 

10 id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) 

11 

12 front: Mapped[str] = mapped_column(String(255), nullable=False) 

13 back: Mapped[str] = mapped_column(Text, nullable=False) 

14 

15 deck_id: Mapped[int] = mapped_column(ForeignKey("decks.id"), nullable=False) 

16 

17 deck = relationship("Deck", back_populates="cards") 

18 reviews = relationship("Review", back_populates="card", cascade="all, delete-orphan")