24 lines
876 B
Python
24 lines
876 B
Python
from sqlalchemy import Column, Integer, VARCHAR, String, ForeignKey
|
|
from sqlalchemy.orm import relationship
|
|
|
|
from app.infrastructure.database.models import Base
|
|
|
|
|
|
class Course(Base):
|
|
__tablename__ = 'courses'
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
title = Column(VARCHAR(200), nullable=False)
|
|
description = Column(String, nullable=False)
|
|
|
|
category_id = Column(Integer, ForeignKey('categories.id'), nullable=False)
|
|
owner_user_id = Column(Integer, ForeignKey('users.id'), nullable=False)
|
|
|
|
category = relationship('Category', back_populates='courses')
|
|
owner_user = relationship('User', back_populates='owned_courses')
|
|
|
|
students = relationship('CourseStudent', back_populates='course')
|
|
notifications = relationship('Notification', back_populates='course')
|
|
|
|
lessons = relationship('Lesson', back_populates='course')
|