我有问题。我现在已经把头撞在墙上大约4天了。我知道我错过了什么,但我不确定它是什么。
我试图存储一组特定的过滤条件。基本上我的网站用户会看到一个页面,他们可以选择不同的标准来过滤其他网站的用户(比如推特)。
在页面中,将有一个主要标准(即下拉列表):
1)发推文(在这种情况下,文本字段会出现在它旁边,用于输入推文句柄)
2)有超过推文(在这种情况下,旁边会出现一个数字字段)
3)在两者之间发推文(在这种情况下,两个日期字段'从'和'到'将出现在它旁边)
所以一个基本的流程就像:
1)用户选择' Tweeted at'作为主要标准
2)旁边出现一个文本输入框
3)用户进入冷酷播放'
4)返回在Coldplay上发布推特的推特用户列表
唷!好的,现在问题。我不确定如何在表格中存储过滤条件(比如名为过滤器)。
我尝试了以下内容:
- Single Table = Col 1 - Filter_id,Col 2 - 过滤器名称,Col 3 - Tweeted_at(charfield),
Col 4 - No:推文(int字段为'推文超过'选项),Col 5 - From_Date,Col 6 - To_Date,Col 7 - User_ID。问题是,它也是,我不知道浪费(?)。永远都会有一些“空白”。值取决于所选的主要标准。它看起来像是糟糕的设计,因为如果我想添加一个新标准,架构就会改变。而且我不认为如果我有一个好的设计,架构会经常改变。 (理想情况下,只有行应该增加/减少而不是列)
- 拆分为多个表: - 1)FilterInstance - Col 1 -Filter_id,Col 2 - Value,Col 3 - UserId。 2)FilterDefinition - Col 1 - Filter_id,Col 2 - Filter_name,Col 3 - Type。这样做的问题是,我不知道我必须提供哪种数据类型,以及价值'在FilterInstance中。如果我输入字符串然后如果数据类型是日期,我必须手动提取mm / dd / yyyy。再说一遍,我被困住了。但这确实可以解决我的架构更改问题。
醇>
所以,我想知道有经验的人会如何为桌子设计结构。我知道我错过了什么。我只是不知道它是什么。我在django中实现了这个,所以如果你有一个特定于django的想法,我猜也好。虽然理想情况下,我想知道是否有一些很酷的方法来构建表格。
编辑:我还应该提一下,我还要映射哪个用户执行了特定的过滤器。