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)概括模型可能是可能的,但如果不知道更多細節,很難說。 –