Files
2024-05-23 17:54:39 +03:00

54 lines
1.8 KiB
Python

from dbtable import *
class DishTable(DbTable):
def table_name(self):
return self.dbconn.prefix + "Dish"
def exist_by_number(self, dish_id):
sql = f"SELECT COUNT(*) FROM {self.table_name()} WHERE dish_id = %(id)s"
cur = self.dbconn.conn.cursor()
cur.execute(sql, {'id': str(dish_id)})
return cur.fetchone()[0] > 0
def columns(self):
return {"dish_id": ["serial", "PRIMARY KEY"],
"name": ["varchar(64)", "NOT NULL"],
"cook_time": ["integer", "NOT NULL"],
"manual": ["text", "NOT NULL"],
"cath_id": ["integer", "NOT NULL"]}
def primary_key(self):
return ["dish_id"]
def get_all_by_cathegory_number(self, cathegory_number):
sql = "SELECT * FROM " + self.table_name()
sql += " WHERE cath_id = %(id)s"
sql += " ORDER BY "
sql += ", ".join(self.primary_key())
cur = self.dbconn.conn.cursor()
print(str(cathegory_number))
cur.execute(sql, {'id': str(cathegory_number)})
return cur.fetchall()
def delete_one(self, data):
if type(data)==int:
sql = f"DELETE FROM {self.table_name()} WHERE dish_id = %(id)s"
cur = self.dbconn.conn.cursor()
cur.execute(sql, {'id': str(data)})
self.dbconn.conn.commit()
elif type(data)==str:
sql = f"DELETE FROM {self.table_name()} WHERE name = %(name)s"
cur = self.dbconn.conn.cursor()
cur.execute(sql, {'name': str(data)})
self.dbconn.conn.commit()
return
def delete_all_with_cathegory_id(self, cathegory_id):
sql = f"DELETE FROM {self.table_name()} WHERE cath_id = %(id)s"
cur = self.dbconn.conn.cursor()
cur.execute(sql, {'id': str(cathegory_id)})
self.dbconn.conn.commit()