Как отфильтровать общий ListView? - PullRequest
0 голосов
/ 26 сентября 2018

Я использую CBV ListView, проблема в том, что представление возвращает список ВСЕХ заметок в системе.Что я действительно предпочел бы, так это чтобы список возвращал только «заметки», связанные с определенной CandProfile (модель)

Модель заметок:

class CandidateNote(models.Model):

  candidate   = models.ForeignKey(CandProfile, on_delete=models.CASCADE, related_name='candidatenotes_cand')
  note_by     = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, on_delete=models.SET_NULL, related_name='candidatenotes_user')
  job_note    = models.TextField(max_length=3000)
  date_added  = models.DateTimeField(auto_now_add=True)

Яновичок в Django и в запросах, и я не знаю, как подойти к этому в представлении, основанном на классах .... мои первоначальные мысли были такими: Может быть, мне следует изменить метод get_queryset.

Любая помощь будетс благодарностью.

1 Ответ

0 голосов
/ 26 сентября 2018

В views.py,

class UserNote(generic.ListView):
     template_name = **add your template name here **
     context_object_name = 'user_notes'

     def get_queryset(self):
          return CandidateNote.objects.filter(user__username=self.kwargs['username'])

Вы можете отобразить его в формате html, {% для заметок в user_notes%} ** вашего шаблона ** {% endfor%}

...