TransWikia.com

Como aplico um filtro python/django

Stack Overflow em Português Asked by eliaquim on November 7, 2021

from django_filters import FilterSet
from django.db import models

Pessoa(models.Model):
  nome= models.TextField()

Marca(models.Model):
  nome = models.TextField()

Carro(models.Model):
  pessoa = models.ForeignKey(Pessoa, on_delete=models.CASCADE, related_name='carros')
  marca = models.ForeignKey(Marca, on_delete=models.CASCADE)
  data_do_documento = models.DateTimeField()

class FilterPessoa(FilterSet):
  ...
  class Meta:
     model = Pessoa
     ...
    

Como aplico um filtro python/django, de todos as pessoas que tenha carros da fiat e/ou jeep, e que tenha data de documento entre 01/07/2020 e 31/07/2020

2 Answers

Agora entendi então basta seguir este exemplo

class FilterPessoa(FilterSet):
  pessoa = django_filters.CharFilter(lookup_expr='icontains')
  class Meta:
     model = Carro
     fields ={ 'pessoa': [exact, 'marca'],
             }

Neste exemplo fara com que traga as pessoas por marcas do veículo.

Answered by José Augusto on November 7, 2021

Na lógica que você esta usando.

Esta classe é usada pode ser usada da seguinte maneira.

class FilterPessoa(FilterSet):
  pessoa__nome = django_filters.CharFilter(lookup_expr='icontains')
  class Meta:
     model = Carro
     fields = ['pessoa__nome']

acredito que o seu código precise de uma revisão de lógica.

Answered by José Augusto on November 7, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP