Spaces:
Sleeping
Sleeping
File size: 1,659 Bytes
42cffde d3530f3 42cffde d3530f3 42cffde 20bf9a8 42cffde d3530f3 42cffde 20bf9a8 42cffde |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# # models.py
# from sqlalchemy import Column, Integer, String, Boolean, ForeignKey, Text, DateTime, Float, func
# from sqlalchemy.orm import relationship
# from src.models.base import BaseModel
# from datetime import datetime
# class Question(BaseModel):
# __tablename__ = "questions"
# id = Column(Integer, primary_key=True, index=True)
# user_id = Column(Integer, ForeignKey("users.id", ondelete="CASCADE"), nullable=False)
# content = Column(Text, nullable=False)
# description = Column(Text, nullable=True) # Dành cho câu hỏi dạng đoạn văn
# tags = Column(Text, nullable=True)
# score = Column(Float, nullable=True, default=1.0)
# list_choice_id = Column(Text, nullable=True, comment='JSON array: ["1","2","3","4"]')
# list_comment_id = Column(Text, nullable=True, comment='JSON array: ["12","15","22"]')
# list_rating_id = Column(Text, nullable=True, comment='JSON array: ["8","10"]')
# created_at = Column(DateTime(timezone=True), server_default=func.now())
# updated_at = Column(DateTime(timezone=True), onupdate=func.now(), server_default=func.now())
# # Relationships
# user = relationship("User", back_populates="questions")
# choices = relationship("Choice", back_populates="question", cascade="all, delete", passive_deletes=True)
# comments = relationship("Comment", back_populates="question", cascade="all, delete", passive_deletes=True)
# ratings = relationship("Rating", back_populates="question", cascade="all, delete", passive_deletes=True)
# def __repr__(self):
# return f"<Question id={self.id} user_id={self.user_id} score={self.score}>"
|