J'essaie de modifier la valeur d'un objet BooleanField dans l'un de mes modèles, mais Django ne me le permet pas. Voici le code correspondant:Problème étrange lors de la tentative de définition d'une valeur BooleanField dans un modèle django
query = MyModel.objects.filter(name='example').filter(boolField=False)
print query[0].boolField
query[0].boolField = True
query[0].save()
print query[0].boolField
Ce surprenant imprime:
False
False
Toute idée pourquoi le = True
ne colle pas? Merci d'avance!
Edit: Ce qu'il fixe:
query = MyModel.objects.get(name='example', boolField=False)
query.boolField = True
query.save()
Il semble que vous ne pouvez pas modifier les champs dans une requête que vous avez filtré par?
Une raison pour laquelle vous voulez le faire de cette façon? Si vous récupérez un objet, pourquoi ne pas utiliser 'MyModel.objects.get'? –
Je l'ai changé en '.get' et cela semble l'avoir réparé .. Une idée pourquoi? Est-il impossible de changer les champs que vous avez filtrés? – hora