我想在数据库中为每个用户存储一些琐碎的值,比如用户是否可以看到新来者的横幅、如何使用每个功能的说明等。当我们遇到时,值的数量会增加新的主意。
所以我考虑了两种存储这些数据的解决方案。每个值都有一个字段(因此表的结构至少会更改几次),或者所有这些类型的数据都有一个字段,因此它们作为字典存储在字段中(在此情况下,我担心它是否会损害数据库性能,我还需要编写更多的逻辑来解析字符串中的字典以及其他方式,并且如果将字典存储在 db 中与 db 的功能相矛盾)。
模型.py
class Instruction(models.Model):
user=models.ForeignKey('auth.User')
can_see_feature_foo_instruction=models.BooleanField()
can_see_feature_bar_instruction=models.BooleanField()
...
或者
class Instruction(models.Model):
user=models.ForeignKey('auth.User')
instruction_prefs=models.CharField() #Value will be "{'can_see_foo_inst':True, 'can_see_bar_inst':False, ...}"
哪个是最好的解决方案?