Django自动填充管理员加载

时间:2013-12-27 18:10:55

标签: python django

我正在构建一个简单的Django项目来管理我们在Twilio和其他云电话提供商中拥有的一堆电话号码和呼叫日志。我想在Django中保留我们在Twilio中的电话号码列表。我很容易查询Twilio的API来获取我们当前的数字,使用这个列表来填充我的Django DB似乎很简单。

但是,为了确保Django中的列表与Twilio保持同步,我想在每次用户加载管理员中的电话号码列表时调用Twilio的API并更新Django中的号码列表。

问题:每次在管理员中加载数字列表时,如何让Django运行此调用?

2 个答案:

答案 0 :(得分:0)

您可以使用自定义Django管理类并重新定义,例如ModelAdmin.get_queryset获取新数据,然后返回QuerySet:

class MyModelAdmin(admin.ModelAdmin):
    def get_queryset(self, request):
        update_data_from_api()
        return = super(MyModelAdmin, self).get_queryset(request)

答案 1 :(得分:0)

一种方法是将自定义admin action添加到电话列表的ModelAdmin以进行上传过程,并在那里启动API提取。