我有一个应用程序,人们可以在其中将他们的东西添加到目录中。现在的问题是,通用目录/列表模型只允许您添加基本产品信息,例如:
Title: My awesome laptop
Category: fk:123 (resolved: u'Electronics > Computers > Laptops')
Seller: fk: 1653 (resolved: u'DudeNobodyKnows')
PriceValue: 100 (resolved: u'100.00,-')
PriceCurrency: fk:15 (resolved: u'€ (EUR)')
DateAdded: 2013-09-02 (resolved: u'2nd September 2013')
Description: u'I just hate it and want to sell it.\
I can give you a 10% off if you buy\
this thing by 4rd September 2013.
= Specs =
CPU: Intel Core i7 2770k
RAM: 64GiB DDR3 Dual-Channel ECC FB-DIMM 1666 MHz
HDD: Kingston HyperX SSDNow V300 120 GiB
Contact: +12 123456789
em@il.com'
等等
我希望这= Specs =
部分完全属于笔记本电脑专用型号。我希望这个目录是完全具体的。我希望查看者能够找到一些运行 Intel® 处理器的计算机,该处理器具有至少 2 个内核和至少 16 GiB 的 RAM 以及 10K HDD 或 SSD,并且屏幕尺寸不应大于 15 英寸等。我想要他能够将此信息输入到搜索表单中,我希望他能够找到这台笔记本电脑,因为它超出了他的要求(即使屏幕尺寸未知,但这只会将其移动到“要求未完全满足”列表中的部分)。
完成这项工作的最佳方法是什么?
我应该只为通用信息提供一个模型,然后在该模型中“插入”各个组件吗?就像有谁在出售它以及以什么价格(以及该信息)的报价,然后将单个项目添加为外键?在 Category 模型中包含此内容:id、title、parent(manytomany)、description 和 AllowedModels 也就是您可以放入该类别和它的孩子的东西(就像您不能将珠宝放入 Graphic Cards 类别一样)。然后为该应用程序中可能出售的每件东西制作一个模型,如笔记本电脑、汽车、螺栓、吉他、扬声器等,并制作另一批将扩展它们的子类别(如
Laptop: Thin Client
Netbook
ThoughBook
Office Laptop
General Purpose Laptop
Multimedia Laptop
Business Laptop
Gaming Laptop
Professional Laptop
MacBook
等等
这是一个正确的方法吗?品牌也是如此(Apple 生产笔记本电脑、台式机、平板电脑、手机,但不生产钻头、锤子、汽车或马克杯)
在 PC 领域,进行大量预设(过去 10 年销售的所有 CPU 和 GPU 等)并将这些组件称为多对多键 - 您可以拥有一台具有 2 个 Xeon CPU 和 16 个 RAM DIMM 和坏蛋的计算机16 盘 SSD RAID 阵列,对吗?
这是将所有内容扩展和插入在一起的正确方法吗?还是将其保留在第一个示例中更好?
这是非常非常具体的方法吗?它会带来严重的性能影响吗?哦,我在 PostgreSQL 中做所有事情……</p>
非常感谢您的回答!