Initial commit
This commit is contained in:
commit
83c902d6c3
26 changed files with 531 additions and 0 deletions
55
database/models.py
Normal file
55
database/models.py
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
from sqlalchemy import Column, Integer, String, ForeignKey, Text
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
|
||||
Base = declarative_base()
|
||||
|
||||
|
||||
class Auth(Base):
|
||||
__tablename__ = 'auth'
|
||||
user_id = Column(Integer, primary_key=True)
|
||||
login = Column(String, unique=True, nullable=False)
|
||||
password = Column(String, nullable=False)
|
||||
|
||||
# Связь с таблицей Users
|
||||
user = relationship("Users", back_populates="auth", uselist=False)
|
||||
|
||||
|
||||
class Users(Base):
|
||||
__tablename__ = 'users'
|
||||
user_id = Column(Integer, ForeignKey('auth.user_id'), primary_key=True)
|
||||
dog_id = Column(Integer, ForeignKey('dogs.dog_id'))
|
||||
username = Column(String, nullable=False)
|
||||
level = Column(Integer, default=1)
|
||||
achievement = Column(Text)
|
||||
|
||||
# Связи
|
||||
auth = relationship("Auth", back_populates="user") # Обратная связь с Auth
|
||||
dog = relationship("Dogs", back_populates="users") # Связь с таблицей Dogs
|
||||
|
||||
|
||||
class Dogs(Base):
|
||||
__tablename__ = 'dogs'
|
||||
dog_id = Column(Integer, primary_key=True)
|
||||
breed = Column(String)
|
||||
characteristics = Column(Text)
|
||||
behavior = Column(Text)
|
||||
care_info = Column(Text)
|
||||
admin_comments = Column(Text)
|
||||
|
||||
# Связь с таблицей Users
|
||||
users = relationship("Users", back_populates="dog")
|
||||
# Связь с таблицей Questions
|
||||
questions = relationship("Questions", back_populates="dog")
|
||||
|
||||
|
||||
class Questions(Base):
|
||||
__tablename__ = 'questions'
|
||||
question_id = Column(Integer, primary_key=True)
|
||||
dog_id = Column(Integer, ForeignKey('dogs.dog_id'))
|
||||
question_text = Column(Text, nullable=False)
|
||||
image_url = Column(String)
|
||||
helpful_info = Column(Text)
|
||||
|
||||
# Связь с таблицей Dogs
|
||||
dog = relationship("Dogs", back_populates="questions")
|
||||
Loading…
Add table
Add a link
Reference in a new issue