Пользователь архива django, если щелкнуть для просмотра подробной страницы, появится ошибкаPython

Программы на Python
Ответить
Anonymous
 Пользователь архива django, если щелкнуть для просмотра подробной страницы, появится ошибка

Сообщение Anonymous »

Итак, у меня есть эта модель пользователя и в admin.py, который, конечно, используется моим клиентом в качестве просмотра страницы администратора, и недавно мой клиент попросил, чтобы пользователи, которые были заархивированы, не отображались на странице активного списка в администраторе django, но их можно было просмотреть, если они отфильтрованы, поэтому я поместил эту функциональность в свою базу "

Код: Выделить всё

get_queryset
"
что выглядит следующим образом

Код: Выделить всё

def get_queryset(self, request):
qs = super().get_queryset(request)

# detecting if archive date filter is applied
archive_filter_applied = any(
key.startswith("archived_at__")
for key in request.GET
)

# default behaviour which excludes archived users
if not archive_filter_applied:
qs = qs.filter(archived_at__isnull=True)

if request.user.is_superuser:
return qs

# permission gate
if not request.user.has_perm("api.view_user"):
return qs.none()

therapist_qs = qs.filter(
Q(treatment_therapist=request.user) |
Q(assessment_therapist=request.user)
)

# data-driven therapist rule
if therapist_qs.exists():
return therapist_qs

return qs
так что происходит как обычно: отображаются пользователи, которые активны, а не заархивированы, но если фильтровать через фильтр, отображаются только те, которые заархивированы, так что до сих пор все в порядке, но когда заархивированный пользователь нажимается на странице списка, чтобы просмотреть страницу его сведений, появляется такая ошибка

"Клиент с идентификатором «375» не существует. Возможно, он был удален?»

у меня такое ощущение, что у меня есть ошибка в этой части кода, но не могу понять
p.s я знаю, что вопрос длинный, но это самый точный способ задать

Подробнее здесь: https://stackoverflow.com/questions/798 ... or-appears
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»