在 django 模型中,如何用"timestamp"作为主键覆盖"id"作为主键?

By simon at 2019-05-18 • 0人收藏 • 14人看过

我正在构建一个 Django ETL 引擎,该引擎使用企业 API 从 GitHub 中提取数据,以收集公司内部协作的指标。 我已经设计了一些模式,我现在意识到由于 ORM 自动设置的 PK (主键)而无法伸缩。 提取的主要特征之一是获取身份证创建存储库的人的名字,对文章的评论等等。

我最初的想法是让 ORM 自动设置身份证作为丙酮酸钾但是这不会起作用,因为 GET 请求将每周运行一次,并且它将引发错误,导致覆盖身份证主键失败。

我做了一些研究,一个可能的解决方案是创建一个元类,如下所述:Django 将主键模型作为一对

但是我不确定创建一些元类是否会破坏元类的整体意义。

下面是我为模特儿 py

从 django.db 导入模型从日期时间导入日期时间""""在 MySQL 实例"""类仓库(模型。 模特) : id 模特。 Posiveintegerfield (null False,主键 True)回购名称模型。 Charfield (max length 50)创建日期模型。 Charfield (最大长度21,null True)最近更新的模型。 Charfield (max length 30,null True) qty watchers model. Posiveintegerfield (null True) qty forks 模型。 Posiveintegerfield (null True)数量问题模型。 Posiveintegerfield (null True)主语言模型。 Charfield (max length 30,null True)回购大小模型。 阳性 integerfield (null True)时间戳模型。 Datetimefield (auto now True)类贡献者(models)。 模特) : id 模特。 Integerfield (null False,主键 True) contributor cec 模型。 Charfield (max length 30,null True)贡献数量模型。 获取请求模型。 Charfield (max length 100,null True)时间戳模型。 Datetimefield (auto now True)类 team (model。 模特) : id 模特。 Integerfield (主键 True,null False)团队名称模型。 Charfield (max length 100,null True)时间戳模型。 Datetimefield (auto now True)类 TeamMembers (model)。 模特) : id 模特。 Integerfield (null False,主键 True)团队成员 cec 模型。 Charfield (max length 30,null True) get request models. Charfield (max length 100,null True)时间戳模型。 Datetimefield (auto now True)类讨论(model)。 模特) : id 模特。 Integerfield (null False,主键 True)登录模型。 Charfield (max length 30,null True) title 模型。 Charfield (最大长度30,null True)车身模型。 Charfield (max length 1000,null True)注释模型。 在模型中更新 IntegerField (null True)。 Charfield (max length 21,null True) get request models. Charfield (max length 100,null True)时间戳模型。 Datetimefield (auto now True)

有没有办法覆盖身份证字段,并使丙酮酸钾的时间戳字段,因为每次获取请求是运行该字段将填充静态数据,不会改变在生命周期的应用程序?

或者,是否有一种方法可以摒弃多表继承体系结构,转而采用不同的方式?

我将从中提取的核心指标是资源库的顶级贡献者,大多数提交,大多数人都回复了评论. 我希望能够运行一些过滤器但是我知道这在很大程度上依赖于模式设置。

谢谢!

1 个回复 | 最后更新于 2019-05-18
2019-05-18   #1

将字段设置为主键的方法是

字段名称模型。 Fieldtype (主键 True)

登录后方可回帖

Loading...