Articles of django queryset

El filtro Django consulta en “tuplas” de valores para varias columnas

Digamos que tengo un modelo: Class Person(models.Model): firstname = models.CharField() lastname = models.CharField() birthday = models.DateField() # etc… y digo que tengo una lista de 2 nombres: first_list = [‘Bob’, ‘Rob’] Y tengo una lista de 2 apellidos: last_list = [‘Williams’, ‘Williamson’] . Luego, si quisiera seleccionar a todos aquellos cuyo primer nombre estuviera en […]

Django consulta SQL duplicada n veces

Tengo un modelo de libro y un modelo de calificación, class Book(models.Model): title = models.CharField(max_length=255) slug = AutoSlugField(unique=True, populate_from=’title’) description = models.TextField() # more fields class Rating(models.Model): book = models.ForeignKey(‘library.Book’) score = models.DecimalField(max_digits=2, decimal_places=1) la consulta, books = {‘books’: Book.objects.filter(pk__in=Rating.objects.all().order_by(‘-score’ ).values_list(‘book__id’, flat=True))[:10] } modelo, {% for i in books %} {{ i.title }}, {{ i.rating_set.all.first.score […]

Generar un queryset django basado en claves dict

Tengo un dictado como { ‘key1’ : val1, ‘key2’ : val2 } Y necesito un queryset como Q(key1__icontains = val1) | Q(key2__icontains = val2) Gracias

sql “LIKE” equivalente en la consulta de django

¿Cuál es el equivalente de esta statement SQL en django? SELECT * FROM table_name WHERE string LIKE pattern; ¿Cómo implemento esto en django? Lo intenté result = table.objects.filter( pattern in string ) Pero eso no funcionó. ¿Cómo implemento esto?

Django.rest_framework: ¿Cómo serializar uno a muchos a muchos?

Tengo algunos problemas para serializar con django. Tengo tres modelos, digamos una escuela, una sala y un escritorio (nombre ficticio, por ejemplo). Cada escuela tiene varias salas y cada sala tiene varias mesas. Las clases y sus relaciones se ven así: class School(models.Model): name = models.CharField() class Room(models.Model): name = models.CharField() school_id = models.ForeignKey(School) class […]

Anotación de consulta Django con campo booleano.

Digamos que tengo un modelo de producto con productos en un escaparate y una tabla de imágenes de producto con imágenes del producto, que pueden tener cero o más imágenes. Aquí hay un ejemplo simplificado: class Product(models.Model): product_name = models.CharField(max_length=255) # … class ProductImage(models.Model): product = models.ForeignKey(Product, related_name=’images’) image_file = models.CharField(max_length=255) # … Al mostrar […]

TypeError: el objeto ‘RelatedManager’ no es iterable

Django Tengo los siguientes modelos: class Group(models.Model): name = models.CharField(max_length=100) parent_group = models.ManyToManyField(“self”, blank=True) def __unicode__(self): return self.name class Block(models.Model): name = models.CharField(max_length=100) app = models.CharField(max_length=100) group = models.ForeignKey(Group) def __unicode__(self): return self.name Por ejemplo, el bloque b1 tiene grupo g1 . Por su nombre quiero obtener todos los bloques del grupo g1 . Escribí […]

Diferentes bases de datos con los mismos modelos en Django.

Tengo el siguiente problema: Necesito una base de datos diferente con los mismos modelos para cada usuario (o conjunto de usuarios). Tengo una forma de averiguar con qué base de datos está relacionado el usuario. El problema es que siempre tengo que usar el método de using en cada consulta que hago. Por ejemplo: Thing.objects.using(‘appropriate_database’).all() […]

En Django, ¿puedes agregar un método a querysets?

En Django, si tengo una clase modelo, por ejemplo from django.db import models class Transaction(models.Model): … luego, si quiero agregar métodos al modelo, para almacenar, por ejemplo, filtros razonablemente complejos, puedo agregar un administrador de modelos personalizado, por ejemplo class TransactionManager(models.Manager): def reasonably_complex_filter(self): return self.get_query_set().filter(…) class Transaction(models.Model): objects = TransactionManager() Y luego puedo hacer: >>> […]

Modelo Django último método ()

Tengo el siguiente problema (por cierto, creo que no había tenido este problema el día anterior): >>> rule = Rule.objects.get(user=user) >>> rule.id 1 >>> rule = Rule.objects.get(user=user).latest(‘id’) AttributeError: ‘Rule’ object has no attribute ‘latest’ ¿Por qué me da el error?