2016-10-21 10 views
0

Ich habe meine Tabellendefinitionen geändert, um Reference Property zu verwenden. Jetzt, wenn ich versuche, einen Einsatz ich tun, wenn der Wert nicht None ist und nicht value.has_key(): Attribute: ‚Abfrage‘ Objekt hat kein Attribut ‚has_key‘AttributeError: 'Query' Objekt hat kein Attribut 'has_key'

subject = self.request.get('subject') 
    content = self.request.get('content') 
    user = self.request.get('name') 
    name = User.all().filter('name =', user) 

    if subject and content: 
     p = Post(parent = blog_key(), subject = subject, content = content, user = name) 

     p.put() 

Das ist mein Beitrag Klasse

class Post(db.Model): 
subject = db.StringProperty(required = True) 
content = db.TextProperty(required = True) 
created = db.DateTimeProperty(auto_now_add = True) 
last_modified = db.DateTimeProperty(auto_now = True) 
user = db.ReferenceProperty(User) 

Ich benutze Python 2.7. Ich habe versucht, die Anweisung von einem anderen Beitrag zu befolgen, wenn Wert nicht None ist und nicht value.has_key(): aber diese Vorschläge haben nicht für mich gearbeitet.

+0

seltsam. 'has_key' ist die veraltete Wörterbuchschlüsselüberprüfung, die in Python 3 entfernt wurde. –

+0

arbeitest du an python3? – haifzhan

+0

Oh, ich benutze Python 2.7, weil ich glaube, dass GAE kürzlich Python 3 erlaubt hat. – John

Antwort

0

Vielen Dank für Ihre Hilfe.

Ich habe hinzugefügt und dann den Namen auf p setzen.

for p in q.run(): 
     print "name ", p.name 

    if subject and content: 
     p = Post(parent = blog_key(), subject = subject, content = content, name = p) 
Verwandte Themen