From cf076fccb500bbe0b6c74dc7546a0b8df4f4f10f Mon Sep 17 00:00:00 2001 From: Sergey Elpashev Date: Sat, 4 Nov 2023 05:29:27 +0300 Subject: [PATCH] Datetime and posted fields --- db/data.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/db/data.py b/db/data.py index c7fc7cf..3f4964e 100644 --- a/db/data.py +++ b/db/data.py @@ -1,10 +1,11 @@ import os +from datetime import datetime from os.path import dirname, join from typing import List, Optional from uuid import UUID from dotenv import load_dotenv -from sqlalchemy import ForeignKey, create_engine +from sqlalchemy import Column, DateTime, ForeignKey, create_engine from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship load_dotenv(join(dirname(__file__), '..', '.env')) @@ -44,17 +45,23 @@ class Post(Base): __tablename__ = 'post' uuid: Mapped[UUID] = mapped_column(primary_key=True) + posted: Mapped[bool] = mapped_column(default=False) from_user_id: Mapped[int] = mapped_column(ForeignKey('admin.user_id')) user: Mapped['Admin'] = relationship(back_populates='posts') text: Mapped[str] + media_group_id: Mapped[str] images: Mapped[List['Image']] = relationship(back_populates='post', cascade='all, delete') + timestamp = Column(DateTime, default=datetime.utcnow) + + def __repr__(self) -> str: + return f"UUID: {self.uuid}. From_user_id: {self.from_user_id}. media group id: {self.media_group_id}. Text: {self.text}" class Image(Base): __tablename__ = 'photo' message_id: Mapped[int] = mapped_column(primary_key=True) - media_group_id: Mapped[int] post: Mapped['Post'] = relationship(back_populates='images') post_id: Mapped[int] = mapped_column(ForeignKey('post.uuid')) + file_id: Mapped[str] if __name__ == '__main__': Base.metadata.create_all(engine) \ No newline at end of file