1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
from sqlalchemy import BigInteger, String, DateTime, Text, ForeignKey, Boolean
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), nullable=True)
author: Mapped[str] = mapped_column(String(128), nullable=True)
post: Mapped[str] = mapped_column(String(1024), nullable=False)
blog_id: Mapped[int] = mapped_column(ForeignKey('blogs.id'), index=True)
approved: Mapped[bool] = mapped_column(Boolean, nullable=False,
default=True)
blog = relationship('Blog', back_populates='comments')
replies = relationship('Reply', back_populates='comment')
created_at = mapped_column(DateTime)
updated_at = mapped_column(DateTime)
|