The validation is fired when you call Project(), and since the
"required=True" attributes aren't yet present.
Try replacing:
proj = Project()
proj.ProjectId = self.request.get("txtProjectId")
proj.ProjectName = self.request.get("txtProjectName")
with:
proj = Project(ProjectId=self.request.get("txtProjectId"),
ProjectName =
self.request.get("txtProjectName"))
On Fri, Dec 24, 2010 at 8:59 AM, HsuCI <[email protected]> wrote:
> Dear Guys
> I would like to test a db access function at localhost.
> I tried running my code on the Google App Engine Launcher.
> but it always show me an error message below:
>
> Traceback (most recent call last):
> File "C:\Program Files\Google\google_appengine\google\appengine\ext
> \webapp\__init__.py", line 517, in __call__
> handler.post(*groups)
> File "D:\Regalscan\DevProject\PyProjects\rgsz\Default.py", line 20,
> in post
> proj = Project()
> File "C:\Program Files\Google\google_appengine\google\appengine\ext
> \db\__init__.py", line 812, in __init__
> prop.__set__(self, value)
> File "C:\Program Files\Google\google_appengine\google\appengine\ext
> \db\__init__.py", line 541, in __set__
> value = self.validate(value)
> File "C:\Program Files\Google\google_appengine\google\appengine\ext
> \db\__init__.py", line 2429, in validate
> value = super(StringProperty, self).validate(value)
> File "C:\Program Files\Google\google_appengine\google\appengine\ext
> \db\__init__.py", line 568, in validate
> raise BadValueError('Property %s is required' % self.name)
> BadValueError: Property ProjectId is required
>
> Does anyone can tell me what is my next step?
>
> Here are my code:
> Default.py
> =======================================================================
> import os
> from google.appengine.ext import webapp
> from google.appengine.ext.webapp import template
> from google.appengine.ext.webapp.util import run_wsgi_app
> from django.template import Context
> from google.appengine.ext import db
>
> class Project(db.Model):
> ProjectId = db.StringProperty(required=True)
> ProjectName = db.StringProperty(required=True)
>
> class MainPage(webapp.RequestHandler):
> def get(self):
> path = os.path.join(os.path.dirname(__file__), 'Default.html')
> self.response.out.write(template.render(path, []))
>
> class PutDataStore(webapp.RequestHandler):
> def post(self):
>
> #self.response.out.write("<script>alert('"+self.request.get("txtProjectId")
> +"');</script>")
> proj = Project()
> proj.ProjectId = self.request.get("txtProjectId")
> proj.ProjectName = self.request.get("txtProjectName")
> proj.put()
> self.response.out.write("<script>alert('OK');</
> script>")
>
>
> application = webapp.WSGIApplication(
> [('/',MainPage),
> ('/putDB', PutDataStore)],
> debug=True
> )
>
> def main():
> run_wsgi_app(application)
>
> if __name__ == "__main":
> main()
>
> ======================================================================
> Default.html
> ======================================================================
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
> <head></head>
> <html>
> <body>
> <form action="/putDB" method="post">
> <span>1234567</span>
> <br />
> <span>Project ID:</span><input type='text' name='txtProjectId' /
> ><br/>
> <span>Project Name:</span><input type='text' name='txtProjectName'
> /
> ><br/>
> <span>Customer ID:</span><input type='text' name='txtCustomerId' /
> ><br/>
> <span>Customer Name:</span><input type='text'
> name='txtCustomerName' />
> <input type='submit' value='Save' />
> </form>
> </body>
> </html>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-appengine%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>
--
Ross M Karchner
http://eventgrinder.com
--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.