Saltar al contenido

Cómo convertir una lista en queryset django

Ten en cuenta que en las ciencias cualquier problema casi siempere puede tener más de una resoluciones, de igual modo nosotros compartimos lo mejor y más eficiente.

Solución:

Puedes consultar el Tag objeto primero y filtro Post con esas identificaciones:

tags = Tag.objects.filter(field_name='string_or_field')
posts = Post.objects.filter(tags__in=tags)

En realidad, encontré una forma buscando en Google, pero esto puede tomar mucho tiempo para consultar/generar resultados si hay una gran cantidad de registros

custom_list = [rec.id for rec in posts if 'string_or_field' in rec.tags.all()]

querset = MyModel.objects.filter(id__in=custom_list)

Las respuestas anteriores son correctas si cada elemento de la lista ya existe en la base de datos, pero a veces este no es el caso. En este caso, puede crear un apéndice de conjunto de consulta basado en la lista e implementar métodos de conjunto de consulta y propiedades de conjunto de consulta según sea necesario.

class ListAsQuerySet(list):

    def __init__(self, *args, model, **kwargs):
        self.model = model
        super().__init__(*args, **kwargs)

    def filter(self, *args, **kwargs):
        return self  # filter ignoring, but you can impl custom filter

    def order_by(self, *args, **kwargs):
        return self

qs = ListAsQuerySet(custom_list, model=Post)

Tienes la opción de amparar nuestro ensayo dejando un comentario o dejando una puntuación te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *