Почему Django 2.2.1 не вызывает get_absolute_url () - PullRequest
0 голосов
/ 07 июня 2019

Документация гласит, что если для модели определен метод get_absolute_url(), то он используется в Django Admin для кнопки «ПРОСМОТР НА САЙТЕ»:

В одном месте Django использует get_absolute_url () находится в приложении администратора.Если объект определяет этот метод, страница редактирования объекта будет иметь ссылку «Просмотр на сайте», которая приведет вас непосредственно к общему представлению объекта, как указано в get_absolute_url ().

Через некоторое времявремя отладки интересно, почему это не называется.И тогда я обнаружил, что он даже не вызван в источнике Джанго.

https://github.com/django/django/blob/8b3f1c35dd848678225e8634d6880efeeab5e796/django/contrib/admin/options.py#L290

        elif self.view_on_site and hasattr(obj, 'get_absolute_url'):
            # use the ContentType lookup if view_on_site is True
            return reverse('admin:view_on_site', kwargs={
                'content_type_id': get_content_type_for_model(obj).pk,
                'object_id': obj.pk
            })

Это ошибка?

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