各ユーザーの簡単な値をデータベースに保存したいと思います。たとえば、ユーザーが新参者のバナーを見ることができるかどうか、各機能の使用方法の説明などです。値の数は、遭遇するにつれて増える可能性があります。新しいアイデア。
そこで、これらのデータを保存するための2つのソリューションについて考えました。これらの値ごとにフィールドがあるか(したがって、テーブルの構造は少なくとも数回変更されます)、またはこれらすべてのタイプのデータに対して1つのフィールドがあるため、フィールドにディクショナリとして格納されます(この場合場合によっては、dbのパフォーマンスが低下するかどうかが心配です。また、辞書を文字列で解析するためのロジックをさらに作成する必要があります。また、辞書をdbに格納することが、dbの機能と矛盾する場合もあります)。
models.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, ...}"
どちらが最善の解決策になりますか?