flask plugin new output, minus the scaffold's AssetType seeding: printed parts are quantity-based consumables, not ADR-001 assets. on_install seeds the three plugin settings instead. Manifest pins core >=0.11.0, depends on employees (badge name resolution), ships disabled until a site opts in.
33 lines
939 B
Python
33 lines
939 B
Python
"""Printedparts model.
|
|
|
|
This is an Asset extension table keyed by assetid. The Asset row holds
|
|
the platform fields (assetnumber, name, vendorid, locationid, etc.);
|
|
this table holds the printedparts-specific fields. Replace the example fields
|
|
below with your domain model.
|
|
"""
|
|
|
|
from shopdb.api import db, BaseModel
|
|
|
|
|
|
class Printedparts(BaseModel):
|
|
"""Printedparts domain entity, extending Asset by assetid."""
|
|
|
|
__tablename__ = 'printedparts'
|
|
|
|
assetid = db.Column(
|
|
db.Integer,
|
|
db.ForeignKey('assets.assetid', ondelete='CASCADE'),
|
|
primary_key=True,
|
|
)
|
|
|
|
# TODO: replace these example fields with your domain fields.
|
|
examplefield = db.Column(db.String(255), nullable=True)
|
|
|
|
asset = db.relationship('Asset', backref=db.backref('printedparts', uselist=False))
|
|
|
|
def to_dict(self):
|
|
return {
|
|
'assetid': self.assetid,
|
|
'examplefield': self.examplefield,
|
|
}
|