我正在构建一个简单的Django项目来管理我们在Twilio和其他云电话提供商中拥有的一堆电话号码和呼叫日志。我想在Django中保留我们在Twilio中的电话号码列表。我很容易查询Twilio的API来获取我们当前的数字,使用这个列表来填充我的Django DB似乎很简单。
但是,为了确保Django中的列表与Twilio保持同步,我想在每次用户加载管理员中的电话号码列表时调用Twilio的API并更新Django中的号码列表。
问题:每次在管理员中加载数字列表时,如何让Django运行此调用?
答案 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提取。