2016-11-03 7 views
2

update操作によって、booleanの値に戻す必要があります。F()での更新操作の反転論理フィールド

私が試した:

Item.objects.filter(serial__in=license_ids).update(renewable=not F('renewable')) 

をしかし、それは動作しません。フィールドがnullに設定されていないことを確認しました。

答えて

1

ここではサポートされていません。あなたは使用する必要があります

from django.db.models import Case, Value, When 

Item.objects.filter(serial__in=license_ids 
).update(renewable=Case(
    When(renewable=True, then=Value(False)), 
    default=Value(True)) 
    ) 
) 
+0

私は 'Case'について知りませんでした。ありがとう。 –

+0

助けてくれるとうれしい – e4c5