-2
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...

我该怎么办?请帮帮我。

这个来源有什么问题?

4

1 回答 1

3

你有没有关闭调试?如果你得到一个 500 并且你打开了调试,你会得到一个带有异常的堆栈跟踪。

正在checkID()checkNickname()什么?如果它们正在执行某种验证,那么您确实应该在表单类中而不是在视图中执行此操作。我也不会直接从模型中提取值request.POST来填充您的模型。我强烈建议从表单的cleaned_data字典中检索这些值。

于 2012-08-10T12:07:21.760 回答