diff --git a/inventory/models/photo.py b/inventory/models/photo.py index fb23eeb..300f838 100644 --- a/inventory/models/photo.py +++ b/inventory/models/photo.py @@ -1,7 +1,8 @@ -from typing import Optional, TYPE_CHECKING +from typing import Optional, List, TYPE_CHECKING if TYPE_CHECKING: from .inventory import Inventory from .users import User + from .work_log import WorkLog import datetime @@ -20,6 +21,7 @@ class Photo(db.Model): inventory: Mapped[Optional['Inventory']] = relationship('Inventory', back_populates='photo') user: Mapped[Optional['User']] = relationship('User', back_populates='photo') + worklogs: Mapped[List['WorkLog']] = relationship('WorkLog', back_populates='photos') def __repr__(self): return f"" diff --git a/inventory/models/work_log.py b/inventory/models/work_log.py index 23ffc71..1bd7ceb 100644 --- a/inventory/models/work_log.py +++ b/inventory/models/work_log.py @@ -1,6 +1,7 @@ from typing import Optional, Any, List, TYPE_CHECKING if TYPE_CHECKING: from .inventory import Inventory + from .photo import Photo from .users import User from .work_note import WorkNote @@ -9,6 +10,7 @@ from sqlalchemy.orm import Mapped, mapped_column, relationship import datetime from . import db +from .photo_links import worklog_photos from .work_note import WorkNote class WorkLog(db.Model): @@ -26,12 +28,13 @@ class WorkLog(db.Model): work_item: Mapped[Optional['Inventory']] = relationship('Inventory', back_populates='work_logs') contact: Mapped[Optional['User']] = relationship('User', back_populates='work_logs') - updates: Mapped[list['WorkNote']] = relationship( + updates: Mapped[List['WorkNote']] = relationship( 'WorkNote', back_populates='work_log', cascade='all, delete-orphan', order_by='WorkNote.timestamp' ) + photos: Mapped[List['Photo']] = relationship('Photo', secondary=worklog_photos, back_populates='worklogs') def __init__( self,