У меня небольшая проблема с программой, которую я пишу. У меня есть таблица - запасы, которые содержат информацию (товары, штрих-коды и т. Д.) О предметах, хранящихся в холодильнике. Затем у меня есть другая таблица - магазин, который действует как магазин, содержащий множество товаров и их штрих-коды. Некоторые из товаров в таблице магазинов находятся в таблице запасов на данный момент, и есть буленское поле, называемое складом, которое сообщает нам этот продукт находится в таблице запасов или нет, если он равен 1, он находится в холодильнике, если он равен 0, его нет в холодильнике. Два поля в таблице запасов - количество и количество. Количество - это то, что находится в холодильнике на данный момент, количество - это то, что должно быть в холодильнике всегда. Когда что-то вынимается из холодильника, количество этого продукта падает на 1. Каждый штрих-код в таблице запасов имеет соответствующий код в таблице магазинов. Мне нужно сделать запрос к базе данных из программы Python, которая будет заказывать продукты из таблицы магазинов, когда количество (что в холодильнике) меньше количества (что должно быть в холодильнике всегда). Таким образом, вам нужно взять штрих-код строки в таблице запасов, где сумма меньше суммы, и сопоставить ее со штрих-кодом в таблице магазинов. Затем в строке этого соответствующего штрих-кода необходимо установить stock = 1.
Я был бы очень рад, если бы кто-нибудь мог помочь мне с этим, поскольку мне действительно трудно написать эту функцию. Ниже приведены функции регистрации и проверки, если это поможет.
* Checkin 1006 *
def check_in():
db = MySQLdb.connect(host='localhost', user='root', passwd='$$', db='fillmyfridge')
cursor=db.cursor(MySQLdb.cursors.DictCursor)
user_input=raw_input('please enter the product barcode that you wish to checkin to the fridge: \n')
cursor.execute("""update shop set stock = 1 where barcode = %s""", (user_input))
db.commit()
numrows = int(cursor.rowcount)
if numrows >= 1:
row = cursor.fetchone()
print row["product"]
cursor.execute('update stock set amount = amount + 1 where product = %s', row["product"])
db.commit()
cursor.execute('udpate shop set stock = 1 where barcode = user_input')
db.commit()
else:
new_prodname = raw_input('what is the name of the product and press enter: \n')
cursor.execute('insert into shop (product, barcode, category) values (%s, %s, %s)', (new_prodname, user_input, new_prodname))
cursor = db.cursor()
query = ('select * from shop where product = %s', (new_prodname))
cursor.execute(query):
db.commit()
numrows = int(cursor.rowcount)
if numrows<1:
cursor.execute('insert into atock (barcode, quantity, amount, product) values (%s, 1, 1, %s)', (user_input, new_prodname))
db.commit()
cursor.execute('insert into shop (product, barcode, category, stock) values (%s, %s, %s, 1)', (new_prodname, user_input, new_prodname))
print new_prodname
print 'has been added to the fridge stock'
else:
cursor.execute('update atock set amount = amount + 1 where product = %s', (new_prodname))
db.commit()
cursor.execute('insert into shop (product, barcode, category, stock) values (%s, %s, %s, 1)', (new_prodname, user_input, new_prodname))
print new_prodname
print 'has been added to the fridge stock'
выписка
import MySQLdb
def check_out():
db = MySQLdb.connect(host='localhost', user='root', passwd='$$', db='fillmyfridge')
cursor=db.cursor()
user_input=raw_input('please enter the product barcode you wish to remove from the fridge: \n')
query = cursor.execute('update stock set instock=0, howmanytoorder=howmanytoorder + 1, amount = amount - 1 where barcode = %s', (user_input))
if cursor.execute(query):
db.commit()
print 'the following product has been removed from the fridge nd needs to be ordered'
cursor.execute('update shop set stock = 0 where barcode = %s' (user_input)
db.commit()
else:
return 0