Update Inventory model: make type_id optional and adjust constructor to handle None values for type_id
This commit is contained in:
parent
dc394dd992
commit
a3c069a126
1 changed files with 5 additions and 3 deletions
|
@ -21,7 +21,7 @@ class Inventory(db.Model):
|
||||||
timestamp: Mapped[datetime.datetime] = mapped_column('Date Entered', DateTime)
|
timestamp: Mapped[datetime.datetime] = mapped_column('Date Entered', DateTime)
|
||||||
condition: Mapped[str] = mapped_column('Working Condition', Unicode(255))
|
condition: Mapped[str] = mapped_column('Working Condition', Unicode(255))
|
||||||
needed: Mapped[str] = mapped_column("Needed", Unicode(255))
|
needed: Mapped[str] = mapped_column("Needed", Unicode(255))
|
||||||
type_id: Mapped[int] = mapped_column('Item Type', Integer, ForeignKey("Items.ID"))
|
type_id: Mapped[Optional[int]] = mapped_column('Item Type', Integer, ForeignKey("Items.ID"), nullable=True)
|
||||||
inventory_name: Mapped[Optional[str]] = mapped_column('Inventory #', Unicode(255))
|
inventory_name: Mapped[Optional[str]] = mapped_column('Inventory #', Unicode(255))
|
||||||
serial: Mapped[Optional[str]] = mapped_column('Serial #', Unicode(255))
|
serial: Mapped[Optional[str]] = mapped_column('Serial #', Unicode(255))
|
||||||
model: Mapped[Optional[str]] = mapped_column('Model #', Unicode(255))
|
model: Mapped[Optional[str]] = mapped_column('Model #', Unicode(255))
|
||||||
|
@ -39,7 +39,7 @@ class Inventory(db.Model):
|
||||||
item: Mapped['Item'] = relationship('Item', back_populates='inventory')
|
item: Mapped['Item'] = relationship('Item', back_populates='inventory')
|
||||||
work_logs: Mapped[List['WorkLog']] = relationship('WorkLog', back_populates='work_item')
|
work_logs: Mapped[List['WorkLog']] = relationship('WorkLog', back_populates='work_item')
|
||||||
|
|
||||||
def __init__(self, timestamp: datetime.datetime, condition: str, needed: str, type_id: int,
|
def __init__(self, timestamp: datetime.datetime, condition: str, needed: str, type_id: Optional[int] = None,
|
||||||
inventory_name: Optional[str] = None, serial: Optional[str] = None,
|
inventory_name: Optional[str] = None, serial: Optional[str] = None,
|
||||||
model: Optional[str] = None, notes: Optional[str] = None, owner_id: Optional[int] = None,
|
model: Optional[str] = None, notes: Optional[str] = None, owner_id: Optional[int] = None,
|
||||||
brand_id: Optional[int] = None, location_id: Optional[str] = None, barcode: Optional[str] = None,
|
brand_id: Optional[int] = None, location_id: Optional[str] = None, barcode: Optional[str] = None,
|
||||||
|
@ -109,8 +109,10 @@ class Inventory(db.Model):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_dict(cls, data: dict[str, Any]) -> "Inventory":
|
def from_dict(cls, data: dict[str, Any]) -> "Inventory":
|
||||||
|
timestamp_str = data.get("timestamp")
|
||||||
|
|
||||||
return cls(
|
return cls(
|
||||||
timestamp=datetime.datetime.fromisoformat(data.get("timestamp")) if data.get("timestamp") else datetime.datetime.now(),
|
timestamp = datetime.datetime.fromisoformat(str(timestamp_str)) if timestamp_str else datetime.datetime.now(),
|
||||||
condition=data.get("condition", "Unverified"),
|
condition=data.get("condition", "Unverified"),
|
||||||
needed=data.get("needed", ""),
|
needed=data.get("needed", ""),
|
||||||
type_id=data["type_id"],
|
type_id=data["type_id"],
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue