2010-05-18 55 views
1

我有一個模型與JSON字段或鏈接到CouchDB文檔。我目前可以訪問的方式動態信息,如:每個實例的動態字段Django模型

genericdocument.objects.get(pk=1) == genericdocument.json_field['sample subfield'] 

,而不是我想用

genericdocument.sample_subfield 

保持與所有的應用程序目前該項目股份的兼容性。

UPDATE

這是非常接近我想要實現:http://pypi.python.org/pypi/eav-django/1.0.0但使用Django標準的區域,而不是。

+1

你的問題是什麼? – 2010-05-18 08:09:39

+0

我試圖公開JSON字段的鍵作爲模型的字段。 – 2010-05-18 11:27:31

+1

看看這個答案:http://stackoverflow.com/a/7934577/497056 – 2012-02-19 13:47:34

回答

1

這是否幫助:

class GenericDocument(models.Model): 
... 
@property 
def sample_subfield(self): 
    return self.json_field['sample_subfield'] 

這應該工作確定爲已知的「sample_subfields」如果沒有太多。

如果你想能夠調用genericdocument.XXX(其中XXX可以任何),那麼你會在你的模型,我真的不會,因爲投入consideratino覆蓋__getattribute__據我所知Django的確實是自己。