import datetime import uuid from typing import TYPE_CHECKING from sqlalchemy import ForeignKey from sqlalchemy.orm import Mapped, mapped_column, relationship from src import domain if TYPE_CHECKING: from .purchase import Purchase class ViewsSnapshot(domain.Base): """Снимок просмотров рекламного поста в определенный момент времени.""" purchase_id: Mapped[uuid.UUID] = mapped_column(ForeignKey('purchases.id'), index=True) views_count: Mapped[int] # Количество просмотров на момент снимка fetched_at: Mapped[datetime.datetime] = mapped_column(index=True) # Когда получены данные # Relationship purchase: Mapped['Purchase'] = relationship()