title: How to customize the Django Users model?
body: <p>Currently, I have added a registration functionality to my website thanks to the <code>Users</code> model from the <code>django.contrib.auth.models</code> and I want to add a <code>score</code> field which will give by default 100 points once the user has registered. I have the following code for the user registration:</p>
  
  <pre><code>forms.py 
  
  from django.contrib.auth.models import User
  from django.contrib.auth.forms import UserCreationForm
  
  class UserRegisterForm(UserCreationForm):
      first_name = forms.CharField(max_length=25)
      last_name  = forms.CharField(max_length=25)
      email      = forms.EmailField()
      score      = forms.CharField(max_length=5) # max value 99,999
  
      class Meta:
          model = User
          fields = ['first_name', 'last_name', 'username', 'email', 'password1', 'password2']
  
  views.py
  
  from .forms import UserRegisterForm
  from django.shortcuts import render, redirect
  
  def register(request):
      if request.method == 'POST':
          form = UserRegisterForm(request.POST)
          if form.is_valid():
              return redirect('login')
      else:
          form = UserRegisterForm()
      return render(request, 'accounts/register.html', {'form': form}
  </code></pre>
  
  <p>The current problem with my code is that the form displays the <code>points</code> field which shouldn't be the case and I am not sure how to indicate to Django that every time the user gets registered then the user should receive a 100 value in score. When I have used a postgresql db, I have implemented this as a default value,i.e., <code>score = models.IntegerField(default=100)</code> but this behavior doesn't work for the <code>Users</code> model from the <code>from django.contrib.auth.models import User</code> because you will get the error <code>__init__() got an unexpected keyword argument 'default'</code> Any help, edit or any other contribution to this question will be greatly appreciated :) </p>