Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from sqlalchemy import ForeignKey
- from sqlalchemy.orm import Mapped, mapped_column, relationship
- from database import Base
- from datetime import datetime
- class Head(Base):
- head_name: Mapped[str]
- objects: Mapped[list["Object"]] = relationship(
- "Object",
- back_populates="head"
- )
- class Currency(Base):
- currency: Mapped[str]
- contracts: Mapped[list["Contract"]] = relationship(
- "Contract",
- back_populates="currency"
- )
- payments: Mapped[list["Payment"]] = relationship(
- "Payment",
- back_populates="currency"
- )
- executions: Mapped[list["Execution"]] = relationship(
- "Execution",
- back_populates="currency"
- )
- class Object(Base):
- object_name: Mapped[str]
- subobject: Mapped[str]
- ip_number: Mapped[str]
- object_cost: Mapped[int]
- head: Mapped[int] = mapped_column(ForeignKey('heads.id'))
- heads: Mapped["Head"] = relationship(
- "Head",
- back_populates="object"
- )
- contracts: Mapped[list["Contract"]] = relationship(
- "Contract",
- back_populates="object"
- )
- class Contractor(Base):
- name: Mapped[str]
- inn: Mapped[int]
- kpp: Mapped[int]
- ogrn: Mapped[int]
- description: Mapped[str]
- contacts: Mapped[str]
- contracts: Mapped[list["Contract"]] = relationship(
- "Contract",
- back_populates="contractor"
- )
- class Customer(Base):
- name: Mapped[str]
- inn: Mapped[int]
- kpp: Mapped[int]
- ogrn: Mapped[int]
- description: Mapped[str]
- contacts: Mapped[str]
- contracts: Mapped[list["Contract"]] = relationship(
- "Contract",
- back_populates="customer"
- )
- class Contract(Base):
- contractor: Mapped[int] = mapped_column(ForeignKey('contractors.id'))
- customer: Mapped[int] = mapped_column(ForeignKey('customers.id'))
- subobject: Mapped[int] = mapped_column(ForeignKey('objects.id'))
- number: Mapped[str]
- number_aa: Mapped[str]
- unmber_spec: Mapped[str]
- date: Mapped[datetime]
- cost_roubles: Mapped[float]
- currency: Mapped[int] = mapped_column(ForeignKey('currencys.id'))
- cost_currency: Mapped[float]
- description: Mapped[str]
- date_start: Mapped[datetime]
- date_opentext: Mapped[datetime]
- date_approve: Mapped[datetime]
- date_sign: Mapped[datetime]
- comments: Mapped[str]
- contractors: Mapped["Contractor"] = relationship(
- "Contractor",
- back_populates="contract"
- )
- customers: Mapped["Customer"] = relationship(
- "Customer",
- back_populates="contract"
- )
- objects: Mapped["Object"] = relationship(
- "Object",
- back_populates="contract"
- )
- currencys: Mapped["Currency"] = relationship(
- "Currency",
- back_populates="contract"
- )
- payments: Mapped[list["Payment"]] = relationship(
- "Payment",
- back_populates="contract"
- )
- executions: Mapped[list["Execution"]] = relationship(
- "Execution",
- back_populates="contract"
- )
- class Payment(Base):
- contract: Mapped[int] = mapped_column(ForeignKey('contracts.id'))
- cost_payment_roubles: Mapped[float]
- currency: Mapped[int] = mapped_column(ForeignKey('currencys.id'))
- cost_payment_curency: Mapped[float]
- date_payment: Mapped[datetime]
- description: Mapped[str]
- contracts: Mapped["Contract"] = relationship(
- "Contract",
- back_populates="payment"
- )
- currencys: Mapped["Currency"] = relationship(
- "Currency",
- back_populates="payment"
- )
- class Execution(Base):
- contract: Mapped[int] = mapped_column(ForeignKey('contracts.id'))
- cost_execution_roubles: Mapped[float]
- currency: Mapped[int] = mapped_column(ForeignKey('currencys.id'))
- cost_execution_curency: Mapped[float]
- number_document: Mapped[str]
- date_document: Mapped[datetime]
- contracts: Mapped["Contract"] = relationship(
- "Contract",
- back_populates="execution"
- )
- currencys: Mapped["Currency"] = relationship(
- "Currency",
- back_populates="execution"
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement