I am new to Python and am currently trying to create a Web-form to edit customer data. The user selects a customer and gets all DSL-Products linked to the customer. What I am now trying is to get the maximum downstream possible for a customer. So when the customer got DSL1, DSL3 and DSL3 then his MaxDownstream is 550. Sorry for my poor english skills.
Here is the structure of my tables..
Customer_has_product:
Customer_idCustomer | Product_idProduct
----------------------------
1                 |       1
1                 |       3
1                 |       4
2                 |       5
3                 |       3
Customer:
idCustomer | MaxDownstream
----------------------------
1         |       
2         |       
3         |       
Product:
idProduct | Name            | downstream
-------------------------------------------------
1         | DSL1            | 50
2         | DSL2            | 100
3         | DSL3            | 550
4         | DSL4            | 400
5         | DSL5            | 1000
And the code i've got so far:
db_session = Session(db_engine)
customer_object = db_session.query(Customer).filter_by(
    idCustomer=productform.Customer.data.idCustomer
).first()
productlist = request.form.getlist("DSLPRODUCTS_PRIVATE")
oldproducts = db_session.query(Customer_has_product.Product_idProduct).filter_by(
    Customer_idCustomer=customer_object.idCustomer)
id_list_delete = list(set([r for r, in oldproducts]) - set(productlist))
for delid in id_list_delete:
    db_session.query(Customer_has_product).filter_by(Customer_idCustomer=customer_object.idCustomer,
                                                    Product_idProduct=delid).delete()
db_session.commit()
for product in productlist:
    if db_session.query(Customer_has_product).filter_by(
        Customer_idCustomer=customer_object.idCustomer,
        Product_idProduct=product
    ).first() is not None:
        continue
    else:
        product_link_to_add = Customer_has_product(
            Customer_idCustomer=productform.Customer.data.idCustomer,
            Product_idProduct=product
        )
            db_session.add(product_link_to_add)
            db_session.commit()
 
     
    