При смене статуса отправляем пользователю email с объектами Order, при изменении в админке поля total в модели OrderItem (OrderItemInline(admin.StackedInline) отправляется старое значение из бд, не пойму как отловить изменения в OrderItemInline и записать их в бд перед отправкой юзеру =/
class OrderItemInline(admin.StackedInline):
model = OrderItem
fields = ['total', 'product', 'quantity']
readonly_fields = ('product',)
extra = 0
can_delete = True
class OrderAdmin(admin.ModelAdmin):
list_display = ['id', 'status', 'created']
fields = ['status', 'order_message']
list_filter = ['status', 'region', 'created', 'updated', ]
empty_value_display = '-empty-'
inlines = [OrderItemInline]
readonly_fields = ('region', 'address', 'email', 'phone', 'total_price', 'order_message')
def save_model(self, request, obj, form, change):
test = OrderItem.objects.filter(order__id=int(obj.id))
for i in test:
print(i.total)
super(OrderAdmin, self).save_model(request, obj, form, change)
if "status" in form.changed_data:
if obj.status == 'Ожидает оплаты':
#передаю obj в контекст и отправляю html письмо