fix(models): disambiguate repair estimate user relationships
This commit is contained in:
parent
46eeaa1f2e
commit
7835d3ca75
4 changed files with 31 additions and 5 deletions
|
|
@ -25,6 +25,7 @@ import app.models.customer
|
||||||
import app.models.knowledge
|
import app.models.knowledge
|
||||||
import app.models.audit
|
import app.models.audit
|
||||||
import app.models.user
|
import app.models.user
|
||||||
|
import app.models.inventory
|
||||||
import app.models.repair
|
import app.models.repair
|
||||||
import app.models.repair_estimate
|
import app.models.repair_estimate
|
||||||
import app.models.system_setting
|
import app.models.system_setting
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,11 @@ class InventoryStockMovement(Base):
|
||||||
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now())
|
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now())
|
||||||
|
|
||||||
item: Mapped[InventoryItem] = relationship(back_populates="movements")
|
item: Mapped[InventoryItem] = relationship(back_populates="movements")
|
||||||
actor = relationship("User", lazy="joined")
|
actor = relationship(
|
||||||
|
"User",
|
||||||
|
foreign_keys="InventoryStockMovement.actor_user_id",
|
||||||
|
lazy="joined",
|
||||||
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def actor_username(self) -> str:
|
def actor_username(self) -> str:
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,11 @@ class RepairStatusHistory(Base):
|
||||||
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now())
|
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now())
|
||||||
|
|
||||||
repair: Mapped[Repair] = relationship(back_populates="history")
|
repair: Mapped[Repair] = relationship(back_populates="history")
|
||||||
actor = relationship("User", lazy="joined")
|
actor = relationship(
|
||||||
|
"User",
|
||||||
|
foreign_keys="RepairStatusHistory.actor_user_id",
|
||||||
|
lazy="joined",
|
||||||
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def actor_username(self) -> str:
|
def actor_username(self) -> str:
|
||||||
|
|
@ -105,7 +109,11 @@ class RepairDocument(Base):
|
||||||
updated_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now())
|
updated_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
|
||||||
repair: Mapped[Repair] = relationship(back_populates="documents")
|
repair: Mapped[Repair] = relationship(back_populates="documents")
|
||||||
uploaded_by = relationship("User", lazy="joined")
|
uploaded_by = relationship(
|
||||||
|
"User",
|
||||||
|
foreign_keys="RepairDocument.uploaded_by_user_id",
|
||||||
|
lazy="joined",
|
||||||
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def uploaded_by_username(self) -> str:
|
def uploaded_by_username(self) -> str:
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,16 @@ class RepairEstimate(Base):
|
||||||
updated_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now())
|
updated_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now())
|
||||||
|
|
||||||
repair = relationship("Repair", lazy="joined")
|
repair = relationship("Repair", lazy="joined")
|
||||||
created_by = relationship("User", lazy="joined")
|
created_by = relationship(
|
||||||
|
"User",
|
||||||
|
foreign_keys="RepairEstimate.created_by_user_id",
|
||||||
|
lazy="joined",
|
||||||
|
)
|
||||||
|
accounting_transferred_by = relationship(
|
||||||
|
"User",
|
||||||
|
foreign_keys="RepairEstimate.accounting_transferred_by_user_id",
|
||||||
|
lazy="joined",
|
||||||
|
)
|
||||||
items: Mapped[list["RepairEstimateItem"]] = relationship(
|
items: Mapped[list["RepairEstimateItem"]] = relationship(
|
||||||
back_populates="estimate",
|
back_populates="estimate",
|
||||||
cascade="all, delete-orphan",
|
cascade="all, delete-orphan",
|
||||||
|
|
@ -92,4 +101,8 @@ class RepairEstimateEvent(Base):
|
||||||
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now())
|
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now())
|
||||||
|
|
||||||
estimate: Mapped[RepairEstimate] = relationship(back_populates="events")
|
estimate: Mapped[RepairEstimate] = relationship(back_populates="events")
|
||||||
actor = relationship("User", lazy="joined")
|
actor = relationship(
|
||||||
|
"User",
|
||||||
|
foreign_keys="RepairEstimateEvent.actor_user_id",
|
||||||
|
lazy="joined",
|
||||||
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue