class Member(models.Model):# member db table
userID = models.CharField(max_length=80,primary_key=True) #user id
password = models.CharField(max_length=32)# password
nickname = models.CharField(max_length=100)# user nickname
penalty = models.PositiveSmallIntegerField(max_length=10,default=0,null=True)
participation=models.ForeignKey('Room',default=None,blank=True,null=True)
def __unicode__(self):
return self.userID
def doJoin(request):
if request.is_ajax() and request.method == 'POST':
# check validation
userID = request.POST['userID']
userNickname = request.POST['nickname']
if (checkID(userID) == False) and (checkNickname(userNickname) == False) :
#save to the database
newUser = Member()
newUser.userID = userID
newUser.nickname = userNickname
newUser.password = request.POST['password']
print newUser.userID , newUser.nickname , newUser.password , newUser.penalty , newUser.participation
newUser.save() #<------------error line!!!!
return HttpResponse('true')
else:
return HttpResponse('false')
else:
HttpResponse('false')
约8行
在功能doJoin
中:
newUser.save() # <--- error... so sad...
我该怎么办?请帮帮我。
这个来源有什么问题?
答案 0 :(得分:3)
您是否关闭了调试功能?如果你得到500并且你打开了调试,那么你将得到一个例外的堆栈跟踪。
checkID()
和checkNickname()
在做什么?如果那些正在执行某种验证,那么您应该在表单类而不是视图中执行此操作。我也不会直接从request.POST
中提取值来填充模型。我强烈建议从表单的cleaned_data
字典中检索这些值。