[PYTHON] [django] Wenn das geänderte Modell aktualisiert wird und wenn es nicht aktualisiert wird

Einführung

Wussten Sie, dass Modelländerungen möglicherweise aktualisiert werden oder nicht? Ich wusste es nicht ich habe nachgeschaut

Wenn geändert wird aktualisiert

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

Nun, es ist weit verbreitet.

Wenn geändert wird nicht aktualisiert

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

Es wird nicht mit der update Methode aktualisiert!

geändert, um zu aktualisieren

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

Muss explizit so angegeben werden

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'])

mass_update wird ebenfalls nicht aktualisiert, daher müssen Sie es explizit angeben

Recommended Posts

[django] Wenn das geänderte Modell aktualisiert wird und wenn es nicht aktualisiert wird
Djangos auto_now wird möglicherweise nicht aktualisiert
PyQtGraph ist möglicherweise nicht im Interpreter verfügbar.
Das Qiitadon-Symbol darf nicht von der API geändert werden
Django-Modell: ManyToManyField