LoginSignup
0
0

More than 3 years have passed since last update.

[django] modelのmodifiedが更新される場合と更新されない場合について

Last updated at Posted at 2020-09-12

はじめに

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も同様に更新されないので、明示的に指定する必要があります

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0