Нажав на API из админ-панели Django - PullRequest
0 голосов
/ 28 ноября 2018

В админ панели Django.У меня есть модель, которая имеет поля, такие как идентификатор пользователя, имя, статус.Я хочу вызвать API (например: - www.xyx.com?user=userID&status='approved '), когда выбрано status = "Approved", и нажать кнопку сохранения.

1 Ответ

0 голосов
/ 28 ноября 2018

Вы можете переопределить метод save_model() в ModelAdmin.Оттуда вы можете сделать запрос API, прежде чем делегировать саму операцию сохранения родительскому классу.

Например, если предположить, что ваш класс модели называется MyModel, и вы используете Запросы библиотека для вызова 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)
...