我想知道是否有一种更干净、更简单、更实用的方法来实现下面的场景。
目前,我允许用户在webapp中选择必填(红色)、可选(红色)或隐藏(黑色)字段(预定义)。我将用户的首选项存储在数据库中,例如
[input_field : user_choice]
.
由于bootstrap允许在一行中包含12列,所以我在想,如果添加额外的字段
[order, size]
我可以按适当的顺序分配必填字段和可选字段。
Size
范围为1-12和
order
可以有重复的值。
{'field_name': 'somename1', 'user_choice': 'Required', 'order': 1, 'size': 6},
{'field_name': 'somename2', 'user_choice': 'Optional', 'order': 2, 'size': 6},
{'field_name': 'somename3', 'user_choice': 'Required', 'order': 3, 'size': 12},
{'field_name': 'somename4', 'user_choice': 'Required', 'order': 4, 'size': 6},
{'field_name': 'somename5', 'user_choice': 'Hidden', 'order': 4, 'size': 6},
{'field_name': 'somename6', 'user_choice': 'Hidden', 'order': 5, 'size': 6},
{'field_name': 'somename7', 'user_choice': 'Required', 'order': 6, 'size': 6},
{'field_name': 'somename8', 'user_choice': 'Hidden', 'order': 7, 'size': 6},
{'field_name': 'somename9', 'user_choice': 'Hidden', 'order': 8, 'size': 3},
{'field_name': 'somename10', 'user_choice': 'Hidden', 'order': 9, 'size': 3},
{'field_name': 'somename11', 'user_choice': 'Optional', 'order': 10, 'size': 12}
基于这一点,我将过滤以仅获取具有
要求的
和
可选择的
并以这样的方式循环,从而允许从添加到<=12
如果一行的大小已经为8,而下一个对象的大小为6,则将初始化新行,除非顺序值相同。
这能以任何方式简化吗?