[django] Quand le modèle modifié est mis à jour et quand il n'est pas mis à jour

introduction

Saviez-vous que les modifications du modèle peuvent ou non être mises à jour? Je ne savais pas Je l'ai vérifié

Une fois modifié est mis à jour

user = User.objects.get(pk=1)
user.name = 'hoge'
user.save()

Eh bien, c’est un problème courant.

Si modifié n'est pas mis à jour

User.objects.filter(prefecture_id=1).update(prefecture_name='Hokkaido')

Il ne sera pas mis à jour en utilisant la méthode ʻupdate`!

modifié pour mettre à jour

User.objects.filter(prefecture_id=1).update(prefecture_name='Hokkaido', modified=datetime.datetime.now())

Doit être explicitement spécifié comme ceci

users = []
for user in User.objects.filter(prefecture_id=1):
    user.prefecture_name ='Hokkaido'
    user.modified = datetime.datetime.now()
    users.append(user)
User.objects.bulk_update(users, fields=['prefecture_name', 'modified'])

bulk_update n'est pas mis à jour également, vous devez donc le spécifier explicitement

Recommended Posts

[django] Quand le modèle modifié est mis à jour et quand il n'est pas mis à jour
Auto_now de Django peut ne pas être mis à jour
PyQtGraph peut ne pas être disponible dans l'interpréteur.
L'icône Qiitadon ne peut pas être modifiée par l'API
Modèle Django: ManyToManyField