Python: изменить атрибут таблицы из параметров, созданных в другой таблице

#python #pycharm

#python #pycharm

Вопрос:

Я создал две разные функции, одну для создания инвентаризации доступных продуктов:

     def create_piece():
            print(Colour().blue('Creating a new piece'.center(200)))
            piece_name = input(Colour().orange('Name of the piece: '))
            piece_registration = input(Colour().orange('Piece registration number: '))
            piece_date = input(Colour().orange('Date of manufacture: '))
            piece_location = input(Colour().orange('Manufacturing location: '))
            piece_price = input(Colour().orange('Price: '))

            Parts.create(Name=piece_name , Parts_registration_number=piece_registration ,
                  Date_of_manufacture=piece_date ,
                  Manufacturing_locality=piece_location , Price=piece_price ,
                  Number_of_parts_sold='0')
            print(Colour().green(('Part created satisfactorily')))
 

Как вы можете видеть, параметр «Number_of_parts_sold» имеет маркер 0.

Затем я создал опцию для выполнения заказов на поставку:

      def order_purchase():
                print(Colour().blue('Purchase order portal'.center(200))
            Seller_name = input(Colour().orange('Who are you?: '))
            number = int(input(Colour().orange('Number of items?: '))
            pieces_list=[]
            total_cost = 0
            for i in range (0, number):
                while True:
                    piece_name = input(Colour().orange('Name of the piece to buy: '))
                    try:
                        piece = Pieces.get(Pieces.Name == piece_name)
                        break
                    except DoesNotExist:
                        print(Colour().red('This piece does not currently exist in the system, ')
                    please enter a correct name.'))
                   ID = input(Colour().orange('Purchase ID: '))
                for price in Piezas.select().where(Pieces.Name == piece_name):
                    price_orders = (price.price)
                    total_cost  = price_orders
                name_piece=str(name_piece)
                parts_list.append(part_name)
            Orders.create(ID_buy_orders=ID, Date_buy_orders=datetime.now(),
                              Order_Seller=Seller_name , Order_People = pieces_list,
                              Price_orders=total_cost)
            print(Colour().green('Pieces sold satisfactorily'))
 

Эта последняя функция заполняет другую таблицу, в которой хранится количество штук, которые покупает каждый продавец. Однако я хотел бы знать, как связать вторую таблицу с первой, чтобы для каждой проданной части (сгенерированной в кортеже «lista_piezas») изменить маркер и добавить в первую таблицу, сколько штук было продано. Как я мог это сделать? Заранее спасибо

Комментарии:

1. Использование испанского языка (я думаю) очень сбивает с толку тех, кто не говорит по-испански. Пожалуйста, переведите свой код или добавьте несколько комментариев на английском языке.

2. Я их изменил. Прошу прощения за это

3. Я не уверен, но я думаю, что Pieces.get(Pieces.Name == piece_name) это неправильно, вы передаете bool в функцию. Такого рода вызовы функций появляются в других местах вашего кода.