2012-01-19 23 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_。 –