Отображение формы комментария в Django 401 ошибка

Я пытаюсь создать CRM на Django и при этом пытаюсь добавить место для добавления комментариев к лидам. Я создал форму, и при отправке комментария я попадаю на 401 страницу, где меня встречает ошибка. На 401 странице она ссылается на мою form.save() в моих представлениях. Пожалуйста, помогите.

401 Ошибка

"Поле 'id' ожидало число, а получило 'some'."

. Я размещу свой код ниже

Ниже представлено мое представление информации, которое используется для отображения информации о конкретном лиде

def info(request, pk):
info = lead.objects.get(id=pk)

form = lead_comment()
if request.method == 'POST':
    form = lead_comment(request.POST)
    if form.is_valid():
        form.save()
        return redirect('info.html')
        
context={'info':info, 'form': form}
return render(request, 'info.html', context)

Мои URLS

from django.urls import path
from . import views

urlpatterns = [
    path('', views.dashboard, name='dashboard'),
    path('leads/', views.leadsPage, name='leads'),
    path('docs/', views.docsPage, name='docs'),
    path('add-lead/', views.addLead, name='add-lead'),
path('leads/<str:pk>/', views.info, name='description'),
]

My info.html

{% include 'navbar.html' %}

<body class="dash">
    <div class="navdash">
        <div class="container-lead">
            <div class="lead-space">
                <h2>{{ info.first }} {{ info.last }}</h2>
                <h5>Phone number: {{ info.phnum }}</h5>
                <h5>Email: {{ info.email }}</h5>
            </div>
            <body>
                <form method="POST" action="">
                    {% csrf_token %}
                    {{ form }}
                    <input type = "submit" value = "Submit" />
                </form>
            </body>
        </div>
    </div>
</body>

Моя модель лидов, где я инициализирую комментарий

class lead(models.Model):
    first=models.CharField(max_length=20)
    last=models.CharField(max_length=20)
    email=models.CharField(max_length=30)
    phnum=models.CharField(max_length=10)
    associate=models.ForeignKey(agent, on_delete=models.CASCADE, default='some' )
    comment=models.CharField(max_length=500, blank=True, null=True)

    def __str__(self):
        return self.first + ' ' + self.last

Моя форма

class lead_comment(ModelForm):

class Meta:
    model=lead
    fields=['comment']

Попробуйте добавить следующие строки в ваши представления информации:

def info(request, pk):
i = lead.objects.get(id=pk)
form = lead_comment(instance=i)

if request.method == 'POST':
    form = lead_comment(request.POST, instance=i)
    if form.is_valid():
        form.save()
        return redirect('info.html')
        
context={'i':i, 'form': form}
return render(request, 'info.html', context)
Вернуться на верх