/
outthevoid
/
python_microblogging_service_project
Обзор
Документация
Войти
/
outthevoid
/
python_microblogging_service_project
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
app/models/media_model.py
46 строк
2 KB
VladimirChukavin
Revert "Вернул проект в исходное состояние."
07 апр 2026, 14:01
07 апр 2026, 14:01
7531b60
Код
Авторство
О чём код?
from typing import TYPE_CHECKING from sqlalchemy import ForeignKey, String from sqlalchemy.orm import Mapped, mapped_column, relationship from app.database.base import Base if TYPE_CHECKING: from app.models.tweet_model import Tweet class Media(Base): """ ORM-модель медиафайла, связанного с твитом. Класс представляет медиаобъект (например, изображение или видео), которое хранится по файловому пути и может быть привязано к конкретному твиту. :ivar id: Уникальный идентификатор медиаобъекта. :vartype id: int :ivar file_path: Путь к файлу медиаобъекта в файловой системе или хранилище. :vartype file_path: str :ivar tweet_id: Идентификатор связанного твита (может отсутствовать). :vartype tweet_id: int | None :ivar tweet: Связанный объект твита. :vartype tweet: app.models.tweet_model.Tweet """ id: Mapped[int] = mapped_column(primary_key=True) file_path: Mapped[str] = mapped_column(String(255), nullable=False, unique=True) tweet_id: Mapped[int] = mapped_column( ForeignKey("tweets.id", ondelete="CASCADE"), nullable=True ) tweet: Mapped["Tweet"] = relationship("Tweet", back_populates="media") def __repr__(self): """ Возвращает строковое представление медиаобъекта. :returns: Строка с идентификатором медиаобъекта и твита. :rtype: str """ return f"Media(id={self.id}, " f"tweet_id={self.tweet_id})"