从 Django 管理面板中点击 API

Hitting an API from Django admin Panel

在 Django 管理面板中。我有一个模型,其中包含用户 ID、名称、状态等字段。我想在选择 status="approved" 并单击保存按钮时调用 API(例如:- www.xyx.com?user=userID&status='approved')。

您可以覆盖 ModelAdmin 中的 save_model() 方法。从那里,您可以在将保存操作本身委托给父 class.

之前发出 API 请求

例如,假设您的模型 class 被称为 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)