Files
danrazdipl/models.py
2023-06-18 13:06:51 +03:00

99 lines
2.6 KiB
Python

from sqlalchemy import Column, Integer, String, create_engine, ForeignKey, DateTime, Boolean
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, aliased, Query, relationship
from sqlalchemy.sql import func
from sqlalchemy.orm import registry
from sqlalchemy import create_engine
mapper_registry = registry()
engine = create_engine('sqlite:///dipl.db', echo=True)
Base = mapper_registry.generate_base()
Session = sessionmaker(bind=engine)
class Printer(Base):
__tablename__ = "Printer"
id = Column(Integer, primary_key=True)
kinematics = Column(String)
nazvanie = Column(String)
proshivka = Column(String)
maxSpedPrint = Column(Integer)
minSpedPrint = Column(Integer)
print_settings = relationship("PrintSettings", backref="Printer")
#mtboards = Column(Integer, ForeignKey(Mottherboard.id))
class Plastic(Base):
__tablename__ = "Plastic"
id = Column(Integer, primary_key=True)
nazvanie = Column(String)
diametr = Column(Integer)
color = Column(String)
typePlast = Column(String)
proizv = Column(String)
minTempPrint = Column(Integer)
maxTempPrint = Column(Integer)
dateproizv = Column(DateTime)
print_settings = relationship("PrintSettings", backref="Plastic")
class PrintSettings(Base):
__tablename__ = "PrintSettings"
id = Column(Integer, primary_key=True)
tempStol = Column(Integer)
tempSopl = Column(Integer)
PrintSpeed = Column(Integer)
procentZapoln = Column(Integer)
good_set = Column(Boolean, unique=False, default=False)
time_add = Column(DateTime)
primechanie = Column(String)
id_printer = Column(Integer, ForeignKey(Printer.id))
id_plastic = Column(Integer, ForeignKey(Plastic.id))
class Dolgnost(Base):
__tablename__ = "Dolgnost"
id = Column(Integer, primary_key=True)
dolgnst = Column(String)
isadmin = Column(Boolean, default=False)
users = relationship("Users")
class Users(Base):
__tablename__ = "Users"
id = Column(Integer, primary_key=True)
fio = Column(String)
login = Column(String)
passwd = Column(String)
id_dolgnost = Column(Integer, ForeignKey(Dolgnost.id))
def create_db():
Base.metadata.create_all(engine)
sess = Session()
newdolg=Dolgnost(dolgnst='admin', isadmin=True)
sess.add(newdolg)
sess.commit()
dlg = sess.query(Dolgnost).filter(Dolgnost.dolgnst=='admin').first()
newuser = Users(fio="admin",
id_dolgnost=dlg.id,
login="admin", passwd="123456")
sess.add(newuser)
sess.commit()
sess.close()
if __name__ == '__main__':
create_db()