拆分 1000 多个字段的 Django 模型的建议

时间:2021-01-23 21:40:56

标签: django postgresql django-rest-framework

我正在寻找有关如何处理具有 1000 或更多列的数据库表的建议,并且我正准备将其转换为一个或多个 Django 模型。数据还需要通过 URL 内的 API 调用进行过滤。每个字段都需要能够过滤其余数据。

我提出了一些解决方案,并希望提供与它们相关的输入或资源:

  1. 只要有一个包含 1000 多个字段的模型 - 这似乎是维护的噩梦,并且需要大量蛮力编码,但如果有选择地返回数据,它可能会正常工作。
  2. 使用 JSON 字段来存储所有不常访问的数据 - 这里的问题是使用 Django 过滤器过滤数据时会遇到困难。
  3. 将数据拆分为通过一对一关系连接的相关模型,据我所知,这会减少连接操作。 - 这似乎比第一个选项需要更多的编码,但更易于维护。

有没有人有任何关于处理这种大小的数据库表的信息或资源?

1 个答案:

答案 0 :(得分:1)

您绝对应该将模型拆分为多个链接的模型。

由于 Django 在数据库中建模数据的方式,您通常应该在模型和表之间建立 1:1 的关系,并且您的表应该至少规范化为第三范式。