首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以API为数据源的Django模型

以API为数据源的Django模型
EN

Stack Overflow用户
提问于 2020-09-30 22:49:40
回答 1查看 78关注 0票数 0

我想创建一个使用https://developer.microsoft.com/en-us/graph/graph-explorer应用程序接口作为数据源的新模型,因为我想获得有关用户的额外信息。

在模型上使用计算属性不起作用,因为它将查询集合中的每个实例。

因此,我想让模型与一个以api作为其数据源的新模型相关联。

我找不到关于这个主题的任何东西,除了可能滥用from_db()方法之外,如果它还能工作的话。

EN

回答 1

Stack Overflow用户

发布于 2020-10-01 02:00:47

看起来您要做的是缓存来自外部API的数据,该API与您的用户模型数据相关,并对其进行扩充/丰富。如果是这样的话,您可以简单地使用use a custom user model (而不是Django的默认值;这是强烈推荐的做法),然后简单地将外部API数据以序列化形式存储在自定义用户模型的TextField属性中(让我们称其为user_extras;您可以编写模型方法来序列化和反序列化这个字段,以方便在视图中访问)。

因此,关键的挑战是如何保持user_extras的新鲜性,而不会做一些糟糕的性能方面的事情,也不会遇到像API调用限制这样的限制。正如您所说,我们不能在计算属性中进行API查询。(至少不是同步的)然后,一种选择是有一个批处理作业/后台任务,它定期遍历用户数据库,以某种受控的、可预测的方式更新user_extras

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64140163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档