2 Stimmen

Problem beim Vergleich von Feldern mit web2py in GAE

Ich habe dieses Modell in web2py DAL:

db.define_table('category',
     Field('name','string'),
     format='%(name)s'
)

db.define_table('uploaded_question',
    Field('text','string'),
    ...
    Field('category', 'string')    
)

Dies:

db.category(db.category.name == uploaded_question.category) always

gibt in der GAE-Sandbox nichts zurück (in SQLlite funktioniert es einwandfrei).

Wie sollte ich diesen Satz anpassen, damit er in GAE funktioniert?

2voto

mdipierro Punkte 4274

Ich kann aus dem Teilcode nicht erkennen, aber es scheint, dass Sie zwei Dinge tun: 1) Sie denormalisieren (db.uploaded_question.category ist ein String und kein Verweis) 2) Sie führen einen inneren JOIN durch (auch wenn category kein Verweis ist). Ihre Syntax ist falsch und sollte lauten

   rows = db(db.category.name == db.uploaded_question.category).select()

Das Problem ist, dass man bei GAE keine JOINs durchführen kann. Sie unterstützen keine Verknüpfungen.

Jedenfalls ist nicht klar, warum Sie eine Verbindung herstellen, wenn Sie denormalisiert haben, vielleicht habe ich das falsch verstanden.

Wir helfen Ihnen gerne auf der web2py Mailingliste weiter.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X