2017-05-08 95 views
0

當我試圖創建與管理,或在我的意見寄存器功能的Django用戶,它給了我這個錯誤:Django的 - 列「勝」空值違反非空約束

通過寄存器功能:

IntegrityError at /register_user/ 
null value in column "wins" violates not-null constraint 
DETAIL: Failing row contains (3, pbkdf2_sha256$36000$3SoR8l6dEXRD$CkFB+RRKeJPUPeux4EByqkYFkGLgkhI..., null, f, Ion, , , [email protected], f, t, 2017-05-08 10:47:39.860612+00, f, null). 

由管理員

IntegrityError at /admin/football_app/customuser/add/ 
null value in column "wins" violates not-null constraint 
DETAIL: Failing row contains (7, pbkdf2_sha256$36000$o6UGPqAw72hi$qfbgoRAoJn4WmlK010VbfCzeu3+Fo0w..., null, f, Ion, , , , f, t, 2017-05-08 11:02:54.725688+00, f, null). 

models.py

class CustomUser(AbstractUser): 
    selected = models.BooleanField(default=False) 
    wins = models.IntegerField() 
    REQUIRED_FIELDS = ['email', 'selected', 'wins'] 

    def __str__(self): 
     return self.username 


class Score(models.Model): 
    VALUE = (
     (1, "Score 1"), 
     (2, "Score 2"), 
     (3, "Score 3"), 
     (4, "Score 4"), 
     (5, "Score 5"), 
     (6, "Score 6"), 
     (7, "Score 7"), 
     (8, "Score 8"), 
     (9, "Score 9"), 
     (10, "Score 10"), 
    ) 
    granted_by = models.ForeignKey(settings.AUTH_USER_MODEL, default=0) 
    granted_to = models.ForeignKey(settings.AUTH_USER_MODEL, default=0, related_name='granted_to') 
    grade = models.PositiveSmallIntegerField(default=0, choices=VALUE) 

    def __str__(self): 
     return str(self.granted_to) 
添加用戶

views.py

def register_user(request): 
    data = dict() 
    if request.method == 'POST': 
     form = UserForm(request.POST) 
     if form.is_valid(): 
      user = form.save(commit=False) 
      user.set_password(user.password) 
      user.save() 
      return redirect('/login/') 
    else: 
     data['form'] = UserForm() 
    return render(request, 'register_user.html', data) 

我使用的勝場添加+1到用戶,我用這個做其他功能的觀點:

回答

1

你應該設置wins字段的缺省值,以便爲新用戶自動設置爲0。

wins = models.IntegerField(default=0) 
相關問題