Как убрать бесполезный запрос "UPDATE" при переопределении "response_change()" в Django Admin?
В PersonAdmin():
я отменил response_change()
код для капитализации имени, которое пользователь вводит на Change person, как показано ниже:
# "store/person"
from django.contrib import admin
from .models import Person
@admin.register(Person)
class PersonAdmin(admin.ModelAdmin):
def response_change(self, request, obj): # Here
obj.name = obj.name.capitalize()
obj.save()
return super().response_change(request, obj)
Затем, я ввожу david
в Имя: на Change person как показано ниже:
Затем, имя было успешно изменено с John
на David
с заглавной буквы, как показано ниже:
Но согласно журналам PostgreSQL, существует бесполезный UPDATE
запрос , как показано ниже. *Я использую PostgreSQL и вы можете проверить На PostgreSQL, как регистрировать запросы с транзакционными запросами, такими как "BEGIN" и "COMMIT":
Итак, как я могу удалить бесполезный UPDATE
запрос , как показано выше?
В PersonAdmin():
также необходимо переопределить save_model()
с pass
, как показано ниже:
# "store/person"
from django.contrib import admin
from .models import Person
@admin.register(Person)
class PersonAdmin(admin.ModelAdmin):
def response_change(self, request, obj):
obj.name = obj.name.capitalize()
obj.save()
return super().response_change(request, obj)
def save_model(self, request, obj, form, change): # Here
pass
Затем, если вы введете david
в Имя: на Сменить человека, как показано ниже:
Затем, имя успешно изменяется с John
на David
с заглавной буквы, как показано ниже:
Затем, бесполезный UPDATE
запрос удаляется, как показано ниже: