目前我有像這樣的表格:Pages, Groups, GroupPage, Users, UserGroup
。用醃製的套餐,我可以只用3張桌子來實現同樣的事情:Pages, Groups, Users
。使用Python設置類型來實現ACL
set
似乎是實現ACL的自然選擇,因爲組和權限相關的操作可以很自然地用集合表示。如果我將允許/拒絕列表存儲爲醃過的集合,它可以爲多對多關係消除幾個中間表並允許在沒有許多數據庫操作的情況下編輯權限。
如果人的可讀性很重要,我總是可以使用json而不是cPickle進行序列化,並在Python中操作權限列表時使用set
。使用SQL直接編輯權限的可能性非常小。那麼這是一個好的設計理念嗎?
我們使用SQLAlchemy作爲ORM,因此很可能會使用PickleType
列實現。我不打算存儲整個醃製「資源」記錄集,只有set
對象由「資源」主鍵值組成。
我們正在使用SQLAlchemy。 PickleType是否可以接受?它使用泡菜還是cPickle? – Imran 2009-04-26 11:46:04