0
我是相当新的Django和Django orm。我需要像模式:Django模型 - 是否有合理的解决方案来处理子字符作为Django模型中的字段
或在Python代码伪:
class Settings(Model):
subsettings1 = somekindofdictfield({key:fields.BooleanField(), key:fields.BooleanField()})
subsettings2 = somekindofdictfield({key:fields.BooleanField(), key:fields.BooleanField()})
我试图avoide不必有独立的类对每种subsettings的。这可以是动态的。所以这个解决方案看起来不对:
class Settings(Model):
subsettings1 = ForeignKey(SubSettings1)
#etc
我不怕有很多模型(我已经有)但我不想要不必要的。与模式表等。 我会很高兴从exprienced Django开发人员的想法。
谢谢!
很高兴了解picklefields。但我恐怕我需要在我的模型方法等内的子集中引用值。 – alonisser
@alonisser:要清楚,如果您只需要*引用*给定对象中的设置,那么pickle字段工作得很好。你可以说'myobject.subsettings1 ['setting']'。如果您需要对这些设置执行数据库操作(例如,使用“过滤器”),则无法将它们放入数据库字段,并创建表来组织它们。使用[通用关系](https://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/#generic-relations)概括模型可能是可能的,但如果不知道更多细节,很难说。 –