当我试图在GAE中提交一个新实体时,我收到了以下错误消息。你知道吗
File "C:\Users\Chris\Documents\Web Apps\legalstudybuddy\main.py", line 179, in post
c = Courses(user=user, title=title)
TypeError: __init__() got an unexpected keyword argument 'user'
下面是我的Python代码:
class Courses(db.Model):
user = db.StringProperty(required = True)
title = db.StringProperty(required = True)
created = db.DateTimeProperty(auto_now_add = True)
class Courses(Handler):
def get(self, courses="", title="", signup_username="", login_logout=""):
if not self.user:
self.redirect('/login')
user = str(self.read_secure_cookie('user_id'))
courses = db.GqlQuery('SELECT * from Courses WHERE user = :user ORDER BY created DESC', user=user)
signup_username, login_logout = self.user_check()
self.render('courses.html', courses=courses,
title=title,
signup_username=signup_username,
login_logout=login_logout)
def post(self):
if not self.user:
self.redirect('/login')
user = str(self.read_secure_cookie('user_id'))
title = self.request.get('title')
if title:
c = Courses(user=user, title=title)
c.put()
self.redirect('/courses')
意外的关键字参数来自创建实体,而不是来自django模板。任何帮助都将不胜感激。你知道吗
你定义了
Courses
两次。作为模型:但作为处理者:
因为您定义了第二个处理程序,所以它在当前名称空间中存储为
Courses
。例如:我建议更改处理程序的名称,这样您就不会遇到现在遇到的冲突(当您调用
Courses(user=user)
时,它试图调用处理程序而不是模型)。你知道吗相关问题 更多 >
编程相关推荐