Student
엔티티가 키를 사용하여 Class
엔티티에 추가되는 앱을 개발하려고합니다. 클래스에서, 나는 List
의 키로 식별 할 수 있습니다. 정수 나 String이 될 수 있습니다. 그러나 어떻게 해야할지 전혀 모르겠습니다. (제발, 제 첫 번째 프로젝트는 파이썬을 사용합니다) 여기 내 코드입니다 :Google App Engine의 ndb.KeyProperty 사용 방법
import webapp2
from webapp2_extras import json
from google.appengine.ext import ndb
registrationPage = """
<html>
<head><title>Student Registration</title><head>
<body>
<h1>Student Registration</h1>
<form action="/" method="post">
<table border="1">
<tr><td>Srudent's BannerId</td><td><input type="number" size="6" name="banner_id"/></
td></tr>
<tr><td>Student's Name</td><td><input type="text" size="50" name="name"/></td></tr>
<tr><td><input type="submit" name="submit" value="Register Student"/></td></tr>
</table>
</form>
</body>
</html>
"""
class MathClass (ndb.Model):
class_Id = ndb.IntegerProperty(required=True)
professor_name = ndb.StringProperty(required=True)
number_of_students = ndb.IntegerProperty()
students = ndb.KeyProperty(repeated=True)
# A Class can return its data in JSON format
def toJSON(self):
jsonData = {
"class_id": self.key.id(),
"teacher": self.teacher,
"number_of_students": str(self.number_of_students),
}
return json.encode(jsonData)
class Student(ndb.Model):
banner_id = ndb.IntegerProperty(required=True)
name=ndb.StringProperty()
# A Student can return its data in JSON format
def toJSON(self):
jsonData = {
"banner_id": self.key.id(),
"name": self.name,
}
return json.encode(jsonData)
def toTableRow(self, points):
return "<tr><td>" + self.key.id() + "</td><td>" + self.name + "</td></tr>"
class StudentHandler(webapp2.RequestHandler):
def post(self):
banner_id = self.request.get('banner_id')
callback = self.request.get('callback')
student = Student.get_by_id(banner_id)
if student: # This student name already exists.
self.error(409) # This is the HTTP status code for 'unable to process due to conflict'
else:
id = int(self.request.get('banner_id'))
i = int(self.request.get('banner_id'))
n = self.request.get('name')
student = Student(id=banner_id, banner_id = id, name=n)
student.put()
if callback:
self.response.write(callback + '(' + student.toJSON + ')')
else:
self.response.write(student.toJSON())
class RegistrationHandler(webapp2.RequestHandler):
def get(self):
self.response.write(registerationPage)
app = webapp2.WSGIApplication([
('/', StudentHandler),
('/reg', RegistrationHandler)
], debug=True)
HTML 양식을 사용하여, 나는 내 로컬 datastore.This에 Student
엔티티를 저장 할 수 있었다 내가 내 새로와 클래스 개체를 만들어 가야합니까 어떻게 붙어 될 곳이다 그 수업의 구성원으로서 학생을 만들었습니까?