crappy
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
from sqlalchemy.orm import configure_mappers
|
||||
|
||||
from .auth import *
|
||||
from .deal import *
|
||||
from .client import *
|
||||
from .service import *
|
||||
from .secondary import *
|
||||
|
||||
configure_mappers()
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
from sqlalchemy.orm import declarative_base
|
||||
|
||||
BaseModel = declarative_base()
|
||||
metadata = BaseModel.metadata
|
||||
@@ -1,5 +1,5 @@
|
||||
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, BigInteger
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.orm import relationship, backref
|
||||
|
||||
from models import BaseModel
|
||||
|
||||
@@ -17,7 +17,7 @@ class ClientDetails(BaseModel):
|
||||
id = Column(Integer, autoincrement=True, primary_key=True, index=True)
|
||||
|
||||
client_id = Column(Integer, ForeignKey('clients.id'), unique=True, nullable=False, comment='ID клиента')
|
||||
client = relationship('Client', backref='details', uselist=False)
|
||||
client = relationship('Client', backref=backref('details', uselist=False))
|
||||
|
||||
address = Column(String)
|
||||
phone_number = Column(String)
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
from enum import IntEnum, unique
|
||||
|
||||
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey
|
||||
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, Boolean
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from models.base import BaseModel
|
||||
from models.secondary import deal_services
|
||||
|
||||
|
||||
@unique
|
||||
@@ -29,6 +30,11 @@ class Deal(BaseModel):
|
||||
|
||||
status_history = relationship('DealStatusHistory', back_populates='deal', cascade="all, delete-orphan")
|
||||
|
||||
is_deleted = Column(Boolean, nullable=False, server_default='0', default=False, comment='Удалена')
|
||||
is_completed = Column(Boolean, nullable=False, server_default='0', default=False, comment='Завершена')
|
||||
|
||||
services = relationship('Service', secondary=deal_services)
|
||||
|
||||
|
||||
class DealStatusHistory(BaseModel):
|
||||
__tablename__ = 'deals_status_history'
|
||||
|
||||
10
models/secondary.py
Normal file
10
models/secondary.py
Normal file
@@ -0,0 +1,10 @@
|
||||
from sqlalchemy import Table, Column, Integer, ForeignKey
|
||||
|
||||
from models.base import metadata
|
||||
|
||||
deal_services = Table(
|
||||
'deal_services', metadata,
|
||||
Column('deal_id', Integer, ForeignKey('deals.id')),
|
||||
Column('service_id', Integer, ForeignKey('services.id')),
|
||||
Column('quantity', Integer)
|
||||
)
|
||||
21
models/service.py
Normal file
21
models/service.py
Normal file
@@ -0,0 +1,21 @@
|
||||
from sqlalchemy import Column, Integer, String, ForeignKey, Double
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from models import BaseModel
|
||||
|
||||
|
||||
class Service(BaseModel):
|
||||
__tablename__ = 'services'
|
||||
id = Column(Integer, autoincrement=True, primary_key=True, index=True)
|
||||
name = Column(String, nullable=False, comment='Название услуги')
|
||||
|
||||
category_id = Column(Integer, ForeignKey('service_categories.id'), nullable=False, comment='ID категории услуги')
|
||||
category = relationship('ServiceCategory')
|
||||
|
||||
price = Column(Double, nullable=False, comment='Стоимость услуги')
|
||||
|
||||
|
||||
class ServiceCategory(BaseModel):
|
||||
__tablename__ = 'service_categories'
|
||||
id = Column(Integer, autoincrement=True, primary_key=True, index=True)
|
||||
name = Column(String, nullable=False)
|
||||
Reference in New Issue
Block a user