在Django管理面板中。我有一个模型,其中包含用户ID,名称,状态等字段。选择status =“ approved”后,我想调用一个API(例如:www.xyx.com?user = userID&status ='approved'),然后单击保存按钮。
答案 0 :(得分:2)
您可以在ModelAdmin
中覆盖save_model()
方法。从那里,您可以在将保存操作本身委派给父类之前发出API请求。
例如,假设您的模型类名为MyModel
,并且您正在使用Requests库来调用API:
from django.contrib import admin
import requests
class MyModelAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
if obj.status == 'approved':
# Make the API call
requests.get('http://www.example.com', params={'user': obj.userID, 'status': 'approved'})
# Delegate the save to the parent class
super().save_model(request, obj, form, change)