feat: add non-null and unique constraints to BOM model
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
This commit is contained in:
@ -6,12 +6,16 @@ class BomTable(db.Model):
|
|||||||
id = db.Column(db.Integer, primary_key=True)
|
id = db.Column(db.Integer, primary_key=True)
|
||||||
parent_id = db.Column(db.Integer, db.ForeignKey('material_base.id'), nullable=False)
|
parent_id = db.Column(db.Integer, db.ForeignKey('material_base.id'), nullable=False)
|
||||||
child_id = db.Column(db.Integer, db.ForeignKey('material_base.id'), nullable=False)
|
child_id = db.Column(db.Integer, db.ForeignKey('material_base.id'), nullable=False)
|
||||||
bom_no = db.Column(db.String(100), comment='BOM编号')
|
bom_no = db.Column(db.String(100), nullable=False, comment='BOM编号')
|
||||||
version = db.Column(db.String(50), comment='版本')
|
version = db.Column(db.String(50), nullable=False, default='v1', comment='版本')
|
||||||
dosage = db.Column(db.Numeric(19, 4), comment='个数')
|
dosage = db.Column(db.Numeric(19, 4), comment='个数')
|
||||||
loss_rate = db.Column(db.Numeric(5, 2), comment='损耗率%(已废弃)', default=0, nullable=True)
|
loss_rate = db.Column(db.Numeric(5, 2), comment='损耗率%(已废弃)', default=0, nullable=True)
|
||||||
remark = db.Column(db.Text, comment='备注')
|
remark = db.Column(db.Text, comment='备注')
|
||||||
|
|
||||||
|
__table_args__ = (
|
||||||
|
db.UniqueConstraint('bom_no', 'parent_id', 'child_id', name='uniq_bom_no_parent_child'),
|
||||||
|
)
|
||||||
|
|
||||||
# relationships
|
# relationships
|
||||||
parent = db.relationship('MaterialBase', foreign_keys=[parent_id], backref='bom_parents')
|
parent = db.relationship('MaterialBase', foreign_keys=[parent_id], backref='bom_parents')
|
||||||
child = db.relationship('MaterialBase', foreign_keys=[child_id], backref='bom_children')
|
child = db.relationship('MaterialBase', foreign_keys=[child_id], backref='bom_children')
|
||||||
|
|||||||
Reference in New Issue
Block a user