人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

google app engineに関する質問です。
下記のコードが通るようになる方法を教えてください。
下記のコードでは以下のエラーがでます。
NameError: name 'Student' is not defined
すべてのコードを読み込んだあとに実行するような方法があれば実現できそうなのですが、よくわかりません。
from google.appengine.ext import db

class Teacher(db.Model):
student = db.ReferenceProperty(reference_class=Student)

class Student(db.Model):
teacher = db.ReferenceProperty(reference_class=Teacher)

当方初級レベルです。よろしくお願い致します。

●質問者: ぷりっぷりのおしり
●カテゴリ:コンピュータ インターネット
✍キーワード:Class DB Google Google App Engine Model
○ 状態 :終了
└ 回答数 : 1/2件

▽最新の回答へ

1 ● Lhankor_Mhy
●60ポイント ベストアンサー

エラーを回避して参照を実現すればよいのでしょうか。

ポリモーフィックモデルを使用してみました。

from google.appengine.ext import db
from google.appengine.ext.db import polymodel

class Person(polymodel.PolyModel):
 name = db.StringProperty()

class Teacher(Person):
 student = db.ReferenceProperty(reference_class=Person)

class Student(Person):
 teacher = db.ReferenceProperty(reference_class=Person)

class MainHandler(webapp.RequestHandler):
 def get(self):
 student = Student(name ='Aaron')
 student.put()
 teacher = Teacher(name ='Sabrina', student =student.key())
 teacher.put()
 student.teacher =teacher.key()
 student.put()
 self.response.out.write('%s is %s\'s teacher. %s is %s\'s student.' % (student.teacher.name, student.name, teacher.student.name, teacher.name))
#Sabrina is Aaron's teacher. Aaron is Sabrina's student.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ