39 lines
1.2 KiB
Python
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
|