diff options
Diffstat (limited to 'src/database/models')
-rw-r--r-- | src/database/models/__init__.py | 3 | ||||
-rw-r--r-- | src/database/models/blog.py | 5 | ||||
-rw-r--r-- | src/database/models/comment.py | 17 |
3 files changed, 22 insertions, 3 deletions
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) |