首页 > 解决方案 > 拆分 1000 多个字段的 Django 模型的建议

问题描述

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

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

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

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

标签: djangopostgresqldjango-rest-framework

解决方案


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

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


推荐阅读