Pregunta

Leí el "qué es un metaclase en Python", pero todavía estoy confundido por eso.

Soy nuevo en Python y he sido arrojado a actualizarlo de 2.5 a 2.7.

Tengo lo siguiente:

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

y

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']

Pero cuando trato de ejecutarlo en el sitio de Google, obtengo:

Traza (la llamada más reciente la última): archivo "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", línea 239, en manejo = _config_handle.add_wsgi_middleware (self ._LoadHandler ()) file "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", línea 298, en _loadhandler manejador, ruta, err = loadObject (self. _handler) archivo "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", línea 84, en loadobject obj = importar(ruta [0]) archivo "/base/data/home/apps/s~ldsdgidev/glen27.371429613087607751/ldsgh.py", línea 8, en nore.Decorators Import de permiso de importación Archivo requerido "/Base/Home/Apps/Apps /s~ldsdgidev/glen27.371429613087607751/core/decorators.py ", línea 7, en el archivo de loginif de importación de importación de importación ", línea 6, en el archivo de importación de foto_images" /base/data/home/apps/s~ldsdgidev/glen27.371429613087607751/core/photo_images.py ", línea 1, en nore.db_models Importsdb archivo"/base/data/data /home/apps/s~ldsdgidev/glen27.371429613087607751/core/db_models.py ", línea 222, en la clase usersquickaddform (forms.modeflaorm):#solo cuenta, primer nombre y apellido es el archivo requerido"/base/nien homenaje /apps/s~ldsdgidev/glen27.371429613087607751/django/forms/models.py ", línea 205, en nuevoopts.exclude, opts.widgets, formfield_callback) file "/base/data/home/apps/s~ldsdgidev/glen27.371429613087607751/django/forms/models.py", línea 145, en campos_for_for_model = model._mode._modeRer._meta._metibers: AttibeRor: ATTRIMOR: ATTERTIMOR: ATTERTIMOR: Tipo de objeto 'UsersDB' no tiene ningún atributo '_Meta'

Y no entiendo lo que necesito agregar a la clase UserDB para deshacerse del error.

¡Cualquier ayuda sería genial!

¿Fue útil?

Solución

Esto no tiene nada que ver con las versiones de Python o las metaclassas.

ModForms solo funcionan con modelos Django. db.Model es la clase de modelo de motor de aplicaciones, no la de Django. No puedes usar un ModeflaM con esa clase.

Mencionas Django-Nonrel en tus etiquetas de preguntas. Ese proyecto le permite usar los modelos Django: subclases de models.Model con el almacén de datos de App Engine. Probablemente quieras hacer eso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top