39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
![]() |
from datetime import datetime
|
||
|
from .. import db
|
||
|
|
||
|
|
||
|
class Message(db.Model):
|
||
|
__tablename__ = 'Messages'
|
||
|
|
||
|
id = db.Column(db.Integer, primary_key=True)
|
||
|
content = db.Column(db.String(500), nullable=True)
|
||
|
remark = db.Column(db.Text, nullable=True)
|
||
|
role = db.Column(db.String(50), nullable=False)
|
||
|
|
||
|
# # 外键字段(使用驼峰命名)
|
||
|
sessionId = db.Column(db.Integer, db.ForeignKey(
|
||
|
'Sessions.id'), nullable=False) # 外键关联 Session 表
|
||
|
|
||
|
# 通用字段
|
||
|
createdAt = db.Column(db.DateTime, default=datetime.now) # 创建时间
|
||
|
updatedAt = db.Column(db.DateTime, default=datetime.now,
|
||
|
onupdate=datetime.now) # 更新时间
|
||
|
deleteAt = db.Column(db.DateTime, default=None) # 软删除标记
|
||
|
|
||
|
session = db.relationship('Session', backref='messages')
|
||
|
|
||
|
def to_dict(self):
|
||
|
return {
|
||
|
'id': self.id,
|
||
|
'content': self.content,
|
||
|
'remark': self.remark,
|
||
|
'role': self.role,
|
||
|
# 'session': {
|
||
|
# "id": self.session.id,
|
||
|
# "name": self.session.name,
|
||
|
# }
|
||
|
}
|
||
|
|
||
|
def __repr__(self):
|
||
|
return f'<Message {self.content}>'
|