1

モデルからデータを取得する方法を知るために、Appengine のドキュメントを読みました。しかし、私は何かが欠けています..

私のモデルはユーザーと学生で、学生はユーザーからの参照プロパティです。

ユーザーはログインし、フォームにいくつかの値を入力し、put() でデータを保存します。test@example.com でログインするとデータが取得されます。別の電子メールでログインすると、db に送信された情報に対応するデータが取得されます。

ここまでは大丈夫です。PDF を取得しようとしていますが、ログインしているユーザーからデータを取得したいと考えています。

例:

class SavePDF(webapp.RequestHandler):
    def post(self):
        user = users.get_current_user()
        if user:
            student= models.Student.all().get()

        p = canvas.Canvas(self.response.out)

        p.drawImage('ipca.jpg', 40, 700)

        p.drawString(50,640, 'Student Info:'  + '%s'  % student.name)   
        p.drawString(50,620, 'Adress:'                 + '%s'  % student.adress)


        p.drawString(50,300, 'PDF updated:%s'  %          str(datetime.date.today()))

        p.showPage()
        self.response.headers['Content-Type'] = 'application/pdf'
        self.response.headers['Content-Disposition'] = 'filename=mypdf.pdf'
        p.save()

ここで得られるのは、現在のユーザーではないユーザーです。他のユーザーに関する情報を表示します。いろいろ試してみましたが、エラーが発生します。反復しようとするとエラーが発生します。

私は何かが欠けています。

4

1 に答える 1

3

Student モデルが次のようになっている場合:

class Student(db.Model):
    user = db.UserProperty()
    name = db.StringProperty()
    address = db.StringProperty()

次に、おそらく次のようなものが必要です。

user = users.get_current_user() 
if user: 
    student = models.Student.all().filter('user =', user).get() 
于 2010-09-08T12:25:37.160 に答える