如何在django admin更改另一个值时动态更改条目的值
这里,当管理员更改“is_valid”时,我想将另一个整数字段的值减1,因为您只想从如何在django admin更改另一个值时动态更改条目的值,django,django-admin,Django,Django Admin,这里,当管理员更改“is_valid”时,我想将另一个整数字段的值减1,因为您只想从ModelAdmin添加一些预保存操作,您应该重写save_model方法,减小所述值,并触发model.save()方法: from django.contrib import admin from .models import Order class OrderAdmin(admin.ModelAdmin): list_display = ('id', 'name', 'product', 'ema
ModelAdmin
添加一些预保存操作,您应该重写save_model
方法,减小所述值,并触发model.save()
方法:
from django.contrib import admin
from .models import Order
class OrderAdmin(admin.ModelAdmin):
list_display = ('id', 'name', 'product', 'email','is_valid','is_delivered', 'order_date')
list_display_links = ('id', 'name',)
list_editable = ('is_valid','is_delivered')
search_fields = ('name', 'email', 'product')
list_per_page = 25
admin.site.register(Order, OrderAdmin)
仅从管理界面?或者由
is_superuser
user从任何界面?仅由任何员工从管理界面
from django.contrib import admin
class OrderAdmin(admin.ModelAdmin):
list_display = ('id', 'name', 'product', 'email','is_valid','is_delivered', 'order_date')
list_display_links = ('id', 'name',)
list_editable = ('is_valid','is_delivered')
search_fields = ('name', 'email', 'product')
list_per_page = 25
def save_model(self, request, obj, form, change):
# decrement logic here and then trigger save as below
# you have access to the model through obj and form data through form
# e.g.: obj.is_valid and form.changed_data are here
super().save_model(request, obj, form, change)
admin.site.register(Order, OrderAdmin)