lavkach3

Форк
0
28 строк · 1.1 Кб
1
import uuid
2
from typing import Optional
3
from typing import TYPE_CHECKING
4

5
from sqlalchemy import ForeignKey, Sequence
6
from sqlalchemy import Numeric, Uuid
7
from sqlalchemy.orm import relationship, mapped_column, Mapped
8

9
from app.basic.uom.enums.uom_enum import UomType
10
from core.db import Base
11
from core.db.mixins import AllMixin
12

13
if TYPE_CHECKING:
14
    from app.basic.uom.models.uom_category_models import UomCategory
15

16

17

18
class Uom(Base, AllMixin):
19
    __tablename__ = "uom"
20

21
    lsn_seq = Sequence(f'uom_lsn_seq')
22
    id: Mapped[uuid.UUID] = mapped_column(Uuid, primary_key=True, index=True, default=uuid.uuid4)
23
    title: Mapped[str] = mapped_column(index=True)
24
    uom_category_id: Mapped[Optional[uuid.UUID]] = mapped_column(Uuid, ForeignKey("uom_category.id"))
25
    uom_category_rel: Mapped['UomCategory'] = relationship(back_populates='uom_list_rel', lazy='selectin')
26
    type: Mapped[str] = mapped_column(index=True, default=UomType.STANDART)
27
    ratio: Mapped[float] = mapped_column(Numeric(12, 2), default=1)
28
    precision: Mapped[float] = mapped_column(Numeric(12, 2), default=0.01)
29

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.