You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
936 B
Python
23 lines
936 B
Python
from sqlalchemy import UUID, Column, Float, ForeignKey, Integer, String
|
|
from sqlalchemy.ext.hybrid import hybrid_property
|
|
from sqlalchemy.orm import relationship
|
|
|
|
from src.database.core import Base
|
|
from src.models import DefaultMixin, IdentityMixin, TimeStampMixin
|
|
from src.workorder.model import MasterWorkOrder
|
|
|
|
|
|
class EquipmentWorkscopeGroup(Base, DefaultMixin):
|
|
__tablename__ = "oh_tr_equipment_workscope_group"
|
|
|
|
workscope_group_id = Column(UUID(as_uuid=True), ForeignKey('oh_ms_workscope_group.id'))
|
|
location_tag = Column(String, nullable=False)
|
|
|
|
workscope_group = relationship("MasterActivity", lazy="selectin", back_populates="equipment_workscope_groups")
|
|
equipment = relationship(
|
|
"StandardScope",
|
|
lazy="raise",
|
|
primaryjoin="and_(EquipmentWorkscopeGroup.location_tag == foreign(StandardScope.location_tag))",
|
|
uselist=False, # Add this if it's a one-to-one relationship
|
|
)
|