はじめに
modelのmodifiedが更新される場合と更新されない場合があるって知ってました?
自分は知りませんでした
ということで調べました
modifiedが更新される場合
user = User.objects.get(pk=1)
user.name = 'hoge'
user.save()
まあ、よくあるやつです
modifiedが更新されない場合
User.objects.filter(prefecture_id=1).update(prefecture_name='北海道')
update
メソッドを使うと更新されません!
modifiedが更新するには
User.objects.filter(prefecture_id=1).update(prefecture_name='北海道', modified=datetime.datetime.now())
このように明示的に指定する必要があります
users = []
for user in User.objects.filter(prefecture_id=1):
user.prefecture_name ='北海道'
user.modified = datetime.datetime.now()
users.append(user)
User.objects.bulk_update(users, fields=['prefecture_name', 'modified'])
bulk_updateも同様に更新されないので、明示的に指定する必要があります