Как передать строку из url и использовать ее для запроса списка?

class PatientDetailView(TemplateView):
    template_name = 'detail_view.html'


    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        vitals_list = DailyVitals.objects.get(patient = )
        context['vitals_list'] = vitals_list
        return context

Какой запрос следует передать для фильтрации queryset с именем пользователя пациента?

urls.py:

urlpatterns = [
    path('home/', HomeView.as_view(), name='home'),
    path('', HomeView.as_view(), name='home'),
    path('addRecord/', VitalCreateView.as_view(), name='create_record'),
    path('detail/<str:username>', PatientDetailView.as_view(), name='detail'),
    path('doctor', DoctorView.as_view(), name='doctor'),
    path('patient', PatientView.as_view(), name='patient'),
]

models.py

class User(AbstractUser):
    is_doctor = models.BooleanField('doctor status', default=False)
    is_patient = models.BooleanField('patient status', default=False)


class Doctor(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)


    def __str__(self):
        return self.user.username


class Patient(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
    doctor = models.ForeignKey(Doctor, on_delete=models.CASCADE, null=True, blank=True)
   
    def __str__(self):
        return self.user.username


class DailyVitals(models.Model):
    patient = models.ForeignKey(Patient, on_delete=models.CASCADE, null=True, blank=True)
    date = models.DateField(auto_now_add=True)
    blood_pressure = models.IntegerField()
    sugar_level = models.IntegerField()
    temperature = models.IntegerField()
    weight = models.IntegerField()


    def __str__(self):
        return str(self.date)


    def get_absolute_url(self):
        return reverse("patient")

Я пытался передать <a href= {% url 'detail' i.patient.user.username %}> из шаблона, но я получаю эту ошибку "

Повтор для 'detail' с аргументами '('',)' не найден. Проверен 1 шаблон(ы): ['detail/(?P[^/]+)\Z']:

Спасибо

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