使用 appengine 和 django non-rel 从 Python 2.5 迁移到 2.7



我读了"什么是Python中的元类",但仍然对此感到困惑。

我是 python 的新手,并且已经投入到将其从 2.5 升级到 2.7。

我有以下几点:

class UsersDB(db.Model):
Email = db.EmailProperty(required=True,verbose_name='Email *')
Enable = db.BooleanProperty(default=True)

class UsersQuickAddForm(forms.ModelForm):
def is_user_exist(self, account):
    users_query = UsersDB.all().filter('Email =', account).fetch(1)
    if len(users_query) > 0:
        return True
    return False
class Meta:
    model = UsersDB
    exclude = ['Enable']

但是当我尝试在谷歌网站上执行它时,我得到:

回溯(最近一次调用): 文件 "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py",第 239 行,在句柄中 handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) 文件"/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py",第 298 行,_LoadHandler 处理程序, 路径, err = 加载对象(self._handler) 文件 "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py",第 84 行,在 LoadObject 中 obj = import(path[0]) 文件 "/base/data/home/apps/s~ldsdgidev/glen27.371429613087607751/LDSGH.py",第 8 行,在 从核心装饰器导入权限必需 文件 "/base/data/home/apps/s~ldsdgidev/glen27.371429613087607751/core/decorators.py",第 7 行,在 从核心初始化导入登录如果 文件 "/base/data/home/apps/s~ldsdgidev/glen27.371429613087607751/core/initialization.py",第 6 行,在 导入photo_images 文件 "/base/data/home/apps/s~ldsdgidev/glen27.371429613087607751/core/photo_images.py",第 1 行,在 从core.db_models导入图像数据库 文件 "/base/data/home/apps/s~ldsdgidev/glen27.371429613087607751/core/db_models.py",第 222 行,在 类用户快速添加表单(表单。模型表格):#only 帐户,名字和姓氏为必填项 文件 "/base/data/home/apps/s~ldsdgidev/glen27.371429613087607751/django/forms/models.py",第 205 行, opts.exclude, opts.widgets, formfield_callback) 文件"/base/data/home/apps/s~ldsdgidev/glen27.371429613087607751/django/forms/models.py",第145行,fields_for_model 选项 = model._meta 属性错误:类型对象"UsersDB"没有属性"_meta"

而且我不明白我需要向UserDB类添加什么才能摆脱错误。

任何帮助都会很棒!

这与 Python 版本或元类无关。

ModelForms 只适用于 Django 模型。 db.Model是 App Engine 模型类,而不是 Django 模型类。不能将模型窗体与该类一起使用。

你在问题标签中提到了django-nonrel。该项目允许您使用 Django 模型 - models.Model 的子类和 App Engine 数据存储。你可能想这样做。

最新更新