我有一个更新我的订单模型的函数。在我的admin.py中,我注册了模型,并有一个与之关联的admin.ModelAdmin
类。我想调用一个在管理员页面上单击注册模型时运行的函数,以便在用户看到有关订单的任何信息之前对其进行更新。我试过只是添加功能:
class OrdersAdmin(admin.ModelAdmin):
...
update_orders()
但是,这只是导致它在我运行服务器时被更新,而不是在管理员中单击“订单”模型时被更新。我已经研究过管理员actions
,但这仅与在页面上填充Orders Model中的对象之后对模型的各个字段进行更改有关。
单击管理页面中的模型时,如何传递要调用的函数?谢谢。
答案 0 :(得分:0)
我想最好的方法是重写模型See docs中的get_absolute_url方法。
def get_absolute_url(self):
#update you orders here .....
from django.urls import reverse
return reverse('admin:yourapp_yourmodel_change', args=[str(self.id)])