Django Как мне показать имя автора (пользователя) вместо идентификатора? - PullRequest
0 голосов
/ 21 апреля 2019

У меня есть пользовательская модель пользователя (CustomUsers) в одном приложении под названием users, а затем у меня есть модель под названием Bookings, из которой я создал ModelfForm с именем BookingsForm.

В модели Bookings (и в конечном итоге BookingsForm) у меня есть поле с названием booking_author, которому ForeignKey унаследован от модели CustomUsers.

Теперь я смог успешно вызвать поле booking_author в моем виде бронирования и сделать его недоступным для редактирования / чтения только так, как я хотел. Проблема в том, что в поле отображается идентификатор автора, а не имя автора. Кто-нибудь может помочь мне решить эту проблему?

views.py

@login_required
def bookingscreate(request):
    bookings_form = BookingsForm(initial={'booking_author': request.user })
    context = {
        'bookings_form': bookings_form
    }
    return render(request, 'bookings_create.html', context)

1 Ответ

1 голос
/ 21 апреля 2019

Существует несколько способов получения имени пользователя. Для получения имени пользователя в этом случае вы можете использовать

request.user.get_full_name()
request.user.get_short_name()

Пояснение:

request.user является объектом User, и, таким образом, у вас есть доступ ко всем методам пользователя. Если вышеприведенное не то, что вы ищете, вы можете создать метод в своем пользовательском классе и затем вызвать этот метод в этом представлении.

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