Files

45 lines
1.6 KiB
Python

from app.extensions import db
from datetime import datetime
class LVPosition(db.Model):
__tablename__ = 'lv_positionen'
id = db.Column(db.Integer, primary_key=True)
company_id = db.Column(db.Integer, db.ForeignKey('companies.id'), nullable=False)
contract_id = db.Column(db.Integer, db.ForeignKey('contracts.id'), nullable=True)
lv_name = db.Column(db.String(200), nullable=False)
pos_nr = db.Column(db.String(50), nullable=False)
order_index = db.Column(db.Integer, default=0)
kurztext = db.Column(db.String(300))
langtext = db.Column(db.Text)
einheit = db.Column(db.String(10), default='ST')
einzelpreis = db.Column(db.Float, default=0.0)
gruppe = db.Column(db.String(100))
rsa = db.Column(db.String(20))
abschnitt = db.Column(db.String(100))
notiz = db.Column(db.Text)
favorite = db.Column(db.Boolean, default=False)
erstellt_am = db.Column(db.DateTime, default=datetime.utcnow)
__table_args__ = (
db.UniqueConstraint('company_id', 'lv_name', 'pos_nr', name='uq_lv_position'),
)
def to_dict(self):
return {
'id': self.id,
'lv_name': self.lv_name,
'pos_nr': self.pos_nr,
'kurztext': self.kurztext,
'langtext': self.langtext,
'einheit': self.einheit,
'einzelpreis': self.einzelpreis,
'gruppe': self.gruppe,
'rsa': self.rsa,
'abschnitt': self.abschnitt,
'favorite': self.favorite,
}
def __repr__(self):
return f'<LV {self.lv_name} | {self.pos_nr}>'