【问题标题】:Hitting an API from Django admin Panel从 Django 管理面板点击 API
【发布时间】:2019-04-30 07:19:38
【问题描述】:

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

【问题讨论】:

    标签: django django-admin django-admin-actions


    【解决方案1】:

    您可以覆盖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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-14
      • 2019-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多