-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')

line about 8

In function doJoin:

newUser.save() # <--- error... so sad...

What should I do? Help me please.

What's wrong in this source?

4

1 に答える 1

3

デバッグをオフにしましたか?500を取得していて、デバッグをオンにしている場合は、例外を除いてスタックトレースを取得します。

何をcheckID()しているのcheckNickname()?それらが何らかの検証を実行している場合は、実際には、ビューではなくフォームクラスで実行する必要があります。request.POSTまた、モデルにデータを入力するために、から直接値を取得することもありません。cleaned_dataフォームの辞書からこれらの値を取得することを強くお勧めします。

于 2012-08-10T12:07:21.760 に答える