add app.models

This commit is contained in:
cst 2022-06-05 12:05:48 +03:00
parent 4ecb806441
commit 1df7534f16
3 changed files with 38 additions and 0 deletions

0
app/models/__init__.py Normal file
View File

20
app/models/lesson.py Normal file
View File

@ -0,0 +1,20 @@
from sqlalchemy import (
Column,
Integer,
Text,
ForeignKey,
)
from sqlalchemy.orm import relationship
from app.db.base_class import Base
class Lesson(Base):
id = Column(Integer, primary_key=True, index=True)
content = Column(Text, nullable=False)
context = Column(Text, nullable=False)
tags = Column(Text, nullable=False)
submitter_id = Column(Integer, ForeignKey("user.id"), nullable=True)
submitter = relationship("User", back_populates="lessons")

18
app/models/user.py Normal file
View File

@ -0,0 +1,18 @@
from sqlalchemy import Integer, String, Column, Boolean
from sqlalchemy.orm import relationship
from app.db.base_class import Base
class User(Base):
id = Column(Integer, primary_key=True, index=True)
first_name = Column(String(256), nullable=True)
surname = Column(String(256), nullable=True)
email = Column(String, index=True, nullable=False)
is_superuser = Column(Boolean, default=False)
lessons = relationship(
"Lesson",
cascade="all,delete-orphan",
back_populates="submitter",
uselist=True,
)