Enhance Photo and WorkLog models with relationships to improve data integrity and associations
This commit is contained in:
parent
2a8e1710b3
commit
19d1c31984
2 changed files with 7 additions and 2 deletions
|
@ -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"<Photo(id={self.id}, filename={self.filename})>"
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue