Actuellement, je suis à jour un élément de la liste d'achats comme ci-dessousComment mettre à jour un objet dans une plus pythonique façon
cependantdef update_item(self, name, price, quantity, shoppinglist):
# updates self If the variable is not equal to the name None
if name != "None":
self.name = name
if price != "None":
self.price = price
if quantity != "None":
self.quantity = quantity
if shoppinglist != "None":
self.shoppinglist_id = shoppinglist.id
db.session.commit()
I, pense qu'il pourrait y avoir une meilleure façon de le faire. Toute aide serait appréciée.
Le fait que vous essayez de mettre à jour tout à la fois, et en utilisant une chaîne « Aucun » en tant que valeur de l'indicateur compliquent les choses. Pourquoi ne pas avoir un setter séparé pour chacun? Ou passer dans un dictionnaire? – Carcigenicate
Il s'agit d'une API Flask et j'utilise la chaîne "None" pour indiquer que l'utilisateur ne souhaite pas mettre à jour ce champ. Si j'utilise des setters pour chacun d'entre eux, doivent-ils tous vérifier si la valeur est égale à "None" ?? –
Cela fait mal. Vous devez définir chaque variable, même si cette variable est définie sur "Aucun". De cette façon, lorsque vous essayez d'accéder à une variable, elle ne tombe pas en panne. – ddg