Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

409
Vistas
Django-filter Choice Filter no reconoce un campo existente

Estoy tratando de aplicar un ChoiceFilter, sin embargo, es como si el campo al que me refiero no se reconozca donde existe:

ModeloVistasConjunto:

 class StartUpViewSet(NestedViewSetMixin, ModelViewSet): """ Class that provides List, Retrieve, Create, Update, Partial Update and Destroy actions for startups. It also include a filter by startup status """ model = Startup queryset = Startup.objects.all() serializer_class = StartupSerializer filter_backends = (filters.DjangoFilterBackend,) filterset_fields = 'status'

Clase de filtro:

 class StartupFilter(filters.FilterSet): status = filters.ChoiceFilter(choices=START_UP_STATUS) class Meta: model = Startup fields = ['status']

Y modelo:

 class Startup(models.Model): header = models.CharField("Header", max_length=255) title = models.CharField("Title", max_length=255) description = models.CharField("description", max_length=255) # TODO Change this to options instead of array tags = ArrayField(models.CharField(max_length=10, blank=True), size=5) # TODO Images to be stored in aws only url will be in DB card_image = models.ImageField(upload_to='media/images/cards') logo_image = models.ImageField(upload_to='media/images/logos') main_img = models.ImageField(upload_to='media/images/main', null=True) createdAt = models.DateTimeField("Created At", auto_now_add=True) status = models.IntegerField(choices=START_UP_STATUS, default=1) def __str__(self): return self.title

Error :

 'Meta.fields' must not contain non-model field names: s, t, a, u
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Como sugiere el nombre filtered_fields , espera una colección de campos, no un solo campo. Por lo tanto, debe implementar esto como una lista, tupla, conjunto o cualquier otra colección de cadenas, no como una sola cadena:

 class StartUpViewSet(NestedViewSetMixin, ModelViewSet): # … filterset_fields = ('status',)

Si desea especificar un FilterSet personalizado, pase una referencia a la clase con:

 class StartUpViewSet(NestedViewSetMixin, ModelViewSet): # no filterset_fields filterset_class = StartupFilter
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda