如何在django过滤器中过滤外键

问题描述 投票:0回答:1

我想使用字段user(foreignkey)获取用户名

我不知道如何在视图中获取用户名

model.朋友

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

filters.朋友

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

views.朋友

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 %}
python django filter view model
1个回答
1
投票

你可以使用'__':Publication.objects.filter(user__username="John Doe")

© www.soinside.com 2019 - 2024. All rights reserved.