Ошибка «Не найден контакт, соответствующий запросу», когда я хочу отобразить объекты списка указанного пользователя с DetailView - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть форма запроса, сделанная пользователями и сохраненная в базе данных под моделью контактов.У каждого пользователя может быть много запросов, которые должны отображаться на его панели инструментов. С другой стороны, у каждого пользователя есть панель инструментов, включая все сделанные им запросы.Я использовал DetailView и, как написано в документации Django, этот вид на основе классов возвращает только один объект.Как мне решить мою проблему?

Я хочу иметь панель мониторинга для каждого пользователя, которая фильтруется user.id и возвращает все относящиеся Запросы указанному пользователю.

модели.py:

class Contact(models.Model):
    listing = models.CharField(max_length=200)
    listing_id = models.IntegerField(blank=True)
    name = models.CharField(max_length=200)
    email = models.CharField(max_length=100)
    phone = models.CharField(max_length=30)
    message = models.TextField(blank=True)
    contact_date = models.DateTimeField(default=datetime.now, blank=True)
    user_id = models.IntegerField(blank=True)

    def __str__(self):
        return self.name

Views.py:

class DashboardView(generic.DetailView):
    template_name = 'accounts/dashbord.html'
    model = Contact
    pk_url_kwarg = 'pk'

    def get_context_data(self, **kwargs):
        context = super(DashboardView, self).get_context_data(**kwargs)
        context['object_list']= Contact.objects.all().filter(user_id=self.pk_url_kwarg)
        return context

urls.py:

path('<int:pk>', view=DashboardView.as_view(), name='dashboard'),

моя ошибка:

Страница не найдена (404) Метод запроса: GET URL запроса: http://127.0.0.1:8000/contact/30 Поднято: contacts.views.DashboardView

Не найдено ни одного контакта, соответствующего запросу

Вы видите эту ошибку, потому что у вас есть DEBUG = True в вашем файле настроек Django.Измените это на False, и Django отобразит стандартную страницу 404.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...