django - Django房地产网站的PostgreSQL数据库设计
问题描述
我正在开发一个房地产网站,并且正在努力为我的数据库定义设计。数据库需要存储属性、属性、属性类别/子类别,并将它们链接在一起。我可以通过在代码中硬编码属性类别/子类别来轻松解决上述问题,但希望它更加动态。
现在,我想有一个具有 ID 和类别标题的类别表,然后是具有它所属类别的 ID、标题和 ID 的子类别表,所以这是一个相当基本的多对一关系。
我还需要一种更动态的属性方法,以便我有一个表,其中包含 ID、标题和 subcategory_id,我将在其中限制属性,以便它们只能用于某些子类别中的属性。
话虽如此,我在弄清楚如何为属性形成表格时遇到了问题,以便它存储所有属性及其属性/值对。
注意:我在 Django 中这样做。
解决方案
PostgreSQL 至少有两种实现动态属性的可能性:
- 将 EAV 模型实现为关系数据库方案的扩展
- 使用混合 SQL/NoSQL 方法(关系表中的 JSON/BSON 列类型)
第二种方法似乎具有较少的性能问题,但在代码中结合 SQL 和 JQuery-like 可能难以维护。由于已知的性能问题,第一种方法适用于相对较小的数据量(100K-1M 对象,最多 10 个属性)。
推荐阅读
- php - 如何通过 Ajax 将数据从 HTML 传递到 PHP 文件?
- python - 使用 SWIG 包装共享指针对象不授予对类成员函数的访问权限
- javascript - 创建留在 DOM 中的文档片段
- amazon-web-services - 如何使用来自 CW 代理的指标自动更新 cloudwatch 仪表板?
- amazon-web-services - 在使用 grapesjs 创建的模板中通过 Amazon SES 发送图像时不显示
- python - Not able to scrape data which is not visible on screen but is part of the slider/carousel
- java - 声明 List 并将其分配给 LinkedList 或 ArrayList 时,是否仍然保留了不同的性能优势?
- r - 如何在ggplot aes()中编写变量以避免美元符号表示法
- python - 我需要帮助尝试在列表中找到不同的值
- html - 如何在我的网页中插入垂直 AdSense 广告空间?