daily/Mods/Comment/Models.py

39 lines
1.2 KiB
Python

from sqlalchemy.orm import relationship
from sqlalchemy import Column, Integer, String, ForeignKey, Text, DateTime, func, Date, Double
from Utils.SqlAlchemyUtils import get_db, Base
class Comment(Base):
"""
评论表
"""
__tablename__ = "comment"
id = Column(Integer, primary_key=True)
content = Column(Text)
daily_id = Column(Integer, ForeignKey('daily.id', ondelete='CASCADE'))
daily = relationship('Daily', back_populates='comments')
user_email = Column(String(255), ForeignKey('user.email', ondelete='CASCADE'))
user = relationship('User', backref='comments')
create_time = Column(DateTime, server_default=func.now(), comment='创建时间')
def to_dict(self, full=False):
data = {}
for c in self.__table__.columns:
data[c.name] = getattr(self, c.name)
if full:
if self.user:
data['user'] = self.user.to_dict()
if self.user:
data['daily'] = self.daily.to_dict()
return data
def to_with_user_dict(self):
data = {}
for c in self.__table__.columns:
data[c.name] = getattr(self, c.name)
if self.user:
data['user'] = self.user.to_dict()
return data