From ac9746d316271f545776388eb945924ff28fe756 Mon Sep 17 00:00:00 2001 From: HombreLaser Date: Fri, 2 Feb 2024 17:04:56 -0600 Subject: Add Comment --- src/database/models/__init__.py | 3 ++- src/database/models/blog.py | 5 +++-- src/database/models/comment.py | 17 +++++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 src/database/models/comment.py (limited to 'src/database/models') diff --git a/src/database/models/__init__.py b/src/database/models/__init__.py index 8b13789..0647151 100644 --- a/src/database/models/__init__.py +++ b/src/database/models/__init__.py @@ -1 +1,2 @@ - +from src.database.models.blog import Blog +from src.database.models.comment import Comment diff --git a/src/database/models/blog.py b/src/database/models/blog.py index 6a0fb42..f18c7b6 100644 --- a/src/database/models/blog.py +++ b/src/database/models/blog.py @@ -1,6 +1,6 @@ -import datetime +from typing import List from sqlalchemy import BigInteger, String, DateTime -from sqlalchemy.orm import mapped_column, Mapped +from sqlalchemy.orm import mapped_column, Mapped, relationship from src.database import db @@ -9,5 +9,6 @@ class Blog(db.Model): id = mapped_column(BigInteger, primary_key=True) domain: Mapped[str] = mapped_column(String(255), nullable=False, unique=True) + comments = relationship('Comment', back_populates='blog') created_at = mapped_column(DateTime) updated_at = mapped_column(DateTime) diff --git a/src/database/models/comment.py b/src/database/models/comment.py new file mode 100644 index 0000000..0110e75 --- /dev/null +++ b/src/database/models/comment.py @@ -0,0 +1,17 @@ +from sqlalchemy import BigInteger, String, DateTime, Text, ForeignKey +from sqlalchemy.orm import mapped_column, Mapped, relationship +from src.database import db + + +class Comment(db.Model): + __tablename__ = 'comments' + + id = mapped_column(BigInteger, primary_key=True) + content: Mapped[str] = mapped_column(Text) + language: Mapped[str] = mapped_column(String(16), nullable=False) + email: Mapped[str] = mapped_column(String(256)) + post: Mapped[str] = mapped_column(String(1024), nullable=False) + blog_id: Mapped[int] = mapped_column(ForeignKey('blogs.id'), index=True) + blog = relationship('Blog', back_populates='comments') + created_at = mapped_column(DateTime) + updated_at = mapped_column(DateTime) -- cgit v1.2.3