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