当前位置: 首页 > 面试题库 >

是否可以在Django模型中存储数组?

卜方伟
2023-03-14
问题内容

我想知道是否可以在Django模型中存储数组?

我问这个问题是因为我需要int在一个字段中存储一个数组(例如[1,2,3]),然后能够搜索特定的数组并与之匹配,或者通过它的可能组合来进行匹配。

我当时正在考虑将该数组存储为CharFields中的字符串,然后在需要搜索内容时,将值(通过过滤其他模型获得)与’[‘,’]’和’,’连接在一起,然后使用带有生成字符串。问题在于,我将必须生成每种可能的组合,然后逐个过滤它们,直到获得匹配为止,而且我认为这样做可能效率不高。

因此,我希望您能给我其他可以尝试的想法。

我并不是在要求代码,关于如何实现这一点的任何想法都是很好的。


问题答案:

我有两个建议给您:

1)ArrayField如果您使用PostgreSQL作为数据库,请使用。您可以ArrayField
在此处了解更多信息。

2)将数组编码为JSON,并将其存储为纯字符串或使用此处JSONField找到的。

我个人更喜欢第1个选项,因为这是一种更干净,更好的方法,但是取决于您实际用于存储可能无法使用的数据的方式。



 类似资料:
  • 问题内容: 我在家里一直在使用Django和Django ORM,我不得不说,就易用性而言,它是目前最好的之一。 但是,我想知道是否可以在“反向”中使用它。 基本上,我想做的是从现有的数据库模式(从不使用django且相当老的项目中)生成Django模型。 这可能吗? 更新:有问题的数据库是Oracle 问题答案: 是的,使用命令: http://docs.djangoproject.com/en

  • 我有一个表单,如果我使用存储文件,是整个文件内容存储在数据库还是只是文件路径? 假设我有几十万或几百万个文件。因为表的大小必须很大,所以将它们存储在数据库中是否有效? 如果我不想把它们存储在数据库中,简单的上传并保存在本地文件系统中,有没有办法得到所有文件名的列表?通过将它们存储在数据库中,我只需通过以下方式获得: 谢谢

  • 我在JPA实体上拥有以下财产: 如果置信度设置为“0.000”,例如:setConfidence(新的BigDecimal(“0.000”));然后实体被持久化到数据库中,然后从数据库中取回,取回的值将失去其精度和规模,仅为0。 数据库模式是在部署Web应用程序时由JPA/Eclipselink创建的。 我的环境是EclipseLink 2.3.2。v20111125-r10461,Oracle

  • 问题内容: 我需要在Spring Data Repository中使用原始SQL,这可能吗?我看到的所有内容始终都是基于实体的。 问题答案: @Query批注允许通过将nativeQuery标志设置为true来执行本地查询。 引用Spring Data JPA 参考文档。

  • 问题内容: 我需要在Django模型中存储一些数据。这些数据并不等于模型的所有实例。 最初,我考虑过将模型子类化,但是我试图保持应用程序的灵活性。如果使用子类,则每次需要新的对象时都需要创建一个整个类,这是不好的。我还将最终得到很多子类,仅用于存储一对额外的字段。 我真的觉得词典是最好的方法,但是Django文档中没有关于在Django模型中存储词典的内容(或者我找不到它)。 有什么线索吗? 问题

  • 阅读文档时,并不十分清楚。 我想要的是能够存储和检索简单的json文档。使用CloudSearch,似乎可以以SDF格式存储文档,然后搜索它们,但它只返回文档ID和指定字段的一小部分(我认为是200个字符)。 有没有一种方法来检索完整的文档ID只是使用CloudSearch?还是打算作为搜索和使用主存储服务的附加工具?