Django: Регистрация ModelForm перезаписывает объект prevoius

Я пытался сделать свой собственный проект на основе проекта из Codecademy Django path. Где в качестве примера используется vetoffice. В настоящее время я работаю над созданием базового кода и добавлением Forms. В настоящее время я пытаюсь использовать ModelForms для регистрации нового владельца, а затем отобразить список всех зарегистрированных владельцев в ветофисе. Но когда я регистрирую нового владельца, предыдущий владелец как бы перезаписывается, и отображается только новый.

Я совсем новичок в написании Django, поэтому мой код не будет идеальным.

Модель владельца:

class Owner(models.Model):
    #The Owner table, with OwnerID as primary key
    #Owner can own several pets
    """Create the Owner SQLite Table.

    Primary Key: OwnerID, used as Foreign Key for paitient

    Fields: first_name(String), last_name(string), phone(string(of numbers))

    __str__ for easy coupling first and last name of owner.

    Function: has_multiple_pets
                reurns boolean True if owner have several pets registered with the Vet Office.
    """
    ownerID = models.BigAutoField(primary_key=True)
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    phone = models.CharField(max_length=30)
    def __str__(self):
        #Returns the first and last name of owner with whitespace between
        return self.first_name + " " + self.last_name

    def has_multiple_pets(self):
        '''Do Owner have multiple pets.

        Checks if a owner have multiple pets registered at the vet Vetoffice
        and returns a boolean.

        parameters: self

        returns: boolean (True if owned pets are greater then 1)
        '''
        return self.patient_set.count() > 1

Форма владельца:

class OwnerForm(ModelForm):
    class Meta:
        model = Owner
        fields = ['first_name', 'last_name', 'phone']
        labels = {
            'first_name' : 'First Name:',
            'last_name' : 'Family name:',
            'phone' : 'Phone'
        }

Мнение владельца:

def owner(request):
    owner_list = Owner.objects.order_by('last_name')
    context = {'owner_list' : owner_list}
    return render(request, 'vetoffice/owner.html', context)


def register_owner(request):
    if request.method == "POST":
        form = OwnerForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('vetoffice:home')
    else:
        form = OwnerForm()
    return render(request, 'vetoffice/register_owner.html', {'form' : form})

И HTML, используемый для отображения списка владельцев:

<ul>
  {% for owner in owner_list %}
  <li>
    Name: {{ owner.last_name }}, {{ owner.first_name }} -- Phone: {{ owner.phone }}
  </li>
  {% endfor %}
</ul>

Я хочу, чтобы форма регистрации владельца автоматически генерировала уникальный первичный ключ, но когда я пытаюсь зарегистрировать нового владельца, я получаю:

NOT NULL constraint failed: vetoffice_owner.ownerID

Метод запроса: POST URL запроса: http://127.0.0.1:8000/register/owner. Версия Django: 3.2.8 Тип исключения: IntegrityError Значение исключения:

NOT NULL constraint failed: vetoffice_owner.ownerID

Вернуться на верх