Код: Выделить всё
class MaterialReceipt(Base, AuditMixins):
material_receipt_id = Column(Integer, primary_key=True, index=True)
pic = Column(String)
is_visible = Column(Boolean)
material_receipt_lines = relationship("MaterialReceiptLine", backref='material_receipt')
class MaterialReceiptLine(Base, AuditMixins):
material_receipt_line_id = Column(Integer, primary_key=True, index=True)
material_id = Column(Integer, ForeignKey("material.material_id"))
material_receipt_id = Column(Integer, ForeignKey("material_receipt.material_receipt_id"))
quantity = Column(Float)
exp_date = Column(Date)
class Material(Base, AuditMixins):
material_id = Column(Integer, primary_key=True, index=True)
name = Column(String)
sku = Column(String)
location = Column(String)
low_stock_threshold = Column(Float)
Код: Выделить всё
Material Receipt
Код: Выделить всё
[
{
"material_receipt_id": ...,
"pic": ...,
"is_visible": ...
"material_receipt_lines": [
{
"material_receipt_line_id": ...,
"name": ...,
"sku": ...,
"quantity": ...,
"exp_date": ...
}, ...
]
}, ...
]
Код: Выделить всё
material_receipts = (
(self.db
.query(MaterialReceiptModel)
.join(MaterialReceiptLineModel)
.options(contains_eager(MaterialReceiptModel.lines))
)
.filter(MaterialReceiptModel.is_visible)
.order_by(MaterialReceiptModel.created_at.desc())
.all()
)
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/788 ... needs-info