This commit is contained in:
2024-04-24 01:19:46 +03:00
parent be623a3555
commit 4e7626d2e6
12 changed files with 114 additions and 39 deletions

View File

@@ -6,5 +6,4 @@ from .client import *
from .service import *
from .product import *
from .secondary import *
configure_mappers()

View File

@@ -1,9 +1,10 @@
from enum import IntEnum, unique
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, Boolean
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, Boolean, Sequence
from sqlalchemy.orm import relationship
from models.base import BaseModel
from models.base import BaseModel, metadata
from models.utils import add_sequence_to_model
@unique
@@ -35,6 +36,10 @@ class Deal(BaseModel):
services = relationship('DealService', back_populates='deal')
products = relationship('DealProduct', back_populates='deal')
# TODO remake with sequence
rank = Column(String, nullable=False, comment='Lexorank')
comment = Column(String, nullable=False, server_default='', comment='Коментарий к заданию')
class DealStatusHistory(BaseModel):
__tablename__ = 'deals_status_history'
@@ -52,3 +57,4 @@ class DealStatusHistory(BaseModel):
next_status_deadline = Column(DateTime,
comment='Дедлайн до которого сделку нужно перевести на следующий этап')
comment = Column(String, nullable=False, comment='Коментарий', server_default='')

View File

@@ -1,7 +1,11 @@
from sqlalchemy import Column, Integer, String, ForeignKey
from sqlalchemy import Column, Integer, String, ForeignKey, Sequence
from sqlalchemy.orm import relationship
from models import BaseModel
from models import BaseModel, metadata
deal_rank_seq = Sequence('test_ochko', start=1, increment=1, metadata=metadata)
sequence = Sequence('my_sequence_name')
class Product(BaseModel):
@@ -13,6 +17,7 @@ class Product(BaseModel):
client_id = Column(Integer, ForeignKey('clients.id'), nullable=False, comment='ID сделки')
client = relationship('Client', back_populates='products')
barcodes = relationship('ProductBarcode', back_populates='product', cascade="all, delete-orphan")
my_column = Column(Integer, sequence)
class ProductBarcode(BaseModel):

4
models/sequences.py Normal file
View File

@@ -0,0 +1,4 @@
from sqlalchemy import Sequence
from models import BaseModel

4
models/utils.py Normal file
View File

@@ -0,0 +1,4 @@
def add_sequence_to_model(sequence, metadata):
metadata.info.setdefault("sequences", set()).add(
(sequence.schema, sequence.name)
)