Длина запроса Django в шаблоне? - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь вывести длину моего запроса в template. Какой правильный способ сделать это?

Я пытался len(),. count(), count(), но ничего не получалось .

вот мой views.py:

@login_required
def view_contacts(request):
    print("Current User")
    current_user = request.user.get_username()
    user = User.objects.filter(username=current_user).first()

    output = UserContacts.objects.filter(current_user_id=user.id).first()

    my_dict = {'output':output,'number': output.count}

    return render(request,'basic_app/view_contacts.html',my_dict)

и это мой view.contacts.html :

{%extends 'basic_app/base.html' %}
{% block body_block %}

<div class = "jumbotron">   

        <p> you have {{ number }} of contacts in your address book</p>
        <p> {{ output }} </p>

</div>


{% endblock %}

Любая помощь будет принята с благодарностью

Ошибка:

UserContacts object has no attribute count

Ответы [ 2 ]

0 голосов
/ 08 ноября 2019

вы должны заменить

output = UserContacts.objects.filter(current_user_id=user.id).first() 

на output = UserContacts.objects.filter(current_user_id=user.id).all()

0 голосов
/ 08 ноября 2019

Здесь в вашем запросе метод first() вернет единственный объект, который сначала находится, поэтому вы не можете сосчитать.

Удалите first() и вызовите метод count() следующим образом.

output = UserContacts.objects.filter(current_user_id=user.id)
count = output.count()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...