2012-01-19 25 views
4

我有一個應用程序在AppEngine上使用Django Nonrel。AppEngine:在Django NonRel中使用Expando類?

我想使用類似於WebApp的db.Expando類的動態模型 - 這可能嗎? Expando類是否暴露於DNR層?

+2

選項3的http://stackoverflow.com/questions/7933596/django-dynamic-model-fields/7934577#7934577一般適用於Django-nonrel。 –

+0

@GagandeepSingh謝謝。 '從djangotoolbox.fields導入DictField'正是我所期待的。如果你把這個作爲答案,我會選中它。 – mikemaccana

回答

4

您可以使用djangotoolbox的DictField & ListField在Django-Nonrel中創建動態模型。對於例如

from djangotoolbox.fields import DictField 

class Image(models.Model): 
    exif = DictField() 

,並

class Post(models.Model): 
    words = ListField(models.CharField(max_length=500)) 
    title = models.CharField(max_length=200) 
    content = models.TextField(blank=True) 

詳情請參閱的Django dynamic model fields選項3。

-1

Django實現了自己的DB抽象層 - 它不是建立在App Engine的db模塊上的。如果django本身不提供它,它不可用。

+0

是的,我知道這一點。因此詢問'Expando類是否暴露於DNR層?'在問題中。 – mikemaccana

+0

@nailer但是這個問題在上下文中沒有意義:expando類沒有公開,因爲它沒有被使用。 Django-nonrel不使用App Engine數據庫框架。這是不可能的,因爲它不是_there_。 –