Как отфильтровать внешний ключ в фильтре Django - PullRequest
0 голосов
/ 01 марта 2019

Я хочу получить имя пользователя, используя поле user (foreignkey)

Я не знаю, как получить имя пользователя в представлении

model.py

class Publication(models.Model):
user =  models.ForeignKey(User, on_delete=models.CASCADE)

filters.py

class PublicationFilter(django_filters.FilterSet):
user = django_filters.CharFilter(lookup_expr='exact')
class Meta:
    model = Publication
    fields = ['user']

views.py

def publication_list(request):
f = PublicationFilter(request.GET, queryset=Publication.objects.all())
return render(request, 'info/filter.html', {'filter':f})

html

<h2>Lista de sus informes</h2>


        <p class="profile-data">

             <div class="col-md-4 mt-2 mb-3 ">
          <div class="row p-1">
            <div class="col-md-12">


            <form action="" method="get" >
                <b> {{ filter.form.as_p }} </b><br>
                <button type="submit">Search</button>
            </form>

              <ul>
               <b>{% for profile in filter.qs %} </b><br>

              <b>{{ profile.nombre }} </b><br>
                <b>{{ profile.user }} </b><br>

               <a href="{% url 'profiles:detail' profile.user %}">Ver     perfil</a><br>

              {% endfor %}

1 Ответ

0 голосов
/ 01 марта 2019

Вы можете использовать '__': Publication.objects.filter(user__username="John Doe")

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