Django如何显示ID的作者(用户)名instea?

时间:2019-04-21 15:58:24

标签: python django

我在一个名为用户的应用程序上有一个自定义用户模型(CustomUsers),然后有一个名为Bookings的模型,从中我创建了一个名为BookingsForm的ModelfForm。

在Bookings模型(最终是BookingsForm)中,我有一个名为booking_author的字段,该字段具有从CustomUsers模型继承的ForeignKey。

现在,我已经能够成功地将booking_author字段调用到我的bookscreate视图中,并使其按我的需要不可编辑/只读。现在的问题是该字段显示的是作者的ID,而不是作者的名称。有人能帮助我解决这个问题吗?

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 个答案:

答案 0 :(得分:1)

有多种获取用户名称的方法。在这种情况下,要获取用户名,您可以使用

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

说明:

request.user是User对象,因此您可以访问所有用户方法。如果以上不是您要查找的内容,则可以在用户类中创建一个方法,然后在此视图中调用该方法。