Articles of django queryset

obtener objetos de clave externa en una sola consulta – Django

Tengo 2 modelos en mi código django: class ModelA(models.Model): name = models.CharField(max_length=255) description = models.CharField(max_length=255) created_by = models.ForeignKey(User) class ModelB(models.Model): category = models.CharField(max_length=255) modela_link = models.ForeignKey(ModelA, ‘modelb_link’) functions = models.CharField(max_length=255) created_by = models.ForeignKey(User) Digamos que ModelA tiene 100 registros, todos los cuales pueden o no tener enlaces a ModelB Ahora diga que quiero obtener una […]

Django ORM – objects.filter () vs. objects.all (). Filter () – ¿cuál es el preferido?

Muy a menudo veo constructos como MyModel.objects.all().filter(…) que devolverá un QuerySet del administrador predeterminado. Al principio, all() parece ser bastante redundante, porque MyMode.objects.filter(…) Ofrece el mismo resultado. Sin embargo, esto parece ser seguro solo para el Administrador predeterminado, debido a las siguientes dos declaraciones en la documentación de Django: Extracto del capítulo “Adición de métodos […]

Filtro Django select_related

Tengo los siguientes modelos de Django. class A(models.Model): tmp = models.ForeignKey(B) active = models.BooleanField() class B(models.Model): active = models.BooleanField() archived = models.BooleanField() Ahora tengo la siguiente consulta. A.objects.select_related(B).filter(active=True) Ahora esto recupera todos los objetos de B. Ahora, ¿cómo puedo incluir un filtro de active=True y archived=False en la cláusula select_related para el modelo B ?

Usando modelos dynamics en el framework Django

Actualmente estoy usando el marco de Django, incluido su mecanismo de Modelos para abstraer la statement del esquema de la base de datos y el acceso general a la base de datos, que funciona bien para la mayoría de los escenarios. Sin embargo, mi aplicación también requiere que las tablas se creen y se acceda […]

Creando búsquedas de campo personalizadas en Django

¿Cómo crear búsquedas de campo personalizadas en Django? Al filtrar conjuntos de consultas, django proporciona un conjunto de búsquedas que puede utilizar: __contains , __iexact , __in , etc. Quiero poder proporcionar una nueva búsqueda para mi gerente, así que, por ejemplo, alguien podría decir: twentysomethings = Person.objects.filter(age__within5=25) y recupere todos los objetos Person con […]

¿Cómo obtener la diferencia de dos querysets en Django?

Tengo que querysets. Listas y suscripciones alllists = List.objects.filter(datamode = ‘A’) subscriptionlists = Membership.objects.filter(member__id=memberid, datamode=’A’) Necesito un queryset llamado unsubscriptionlist, que posee todos los registros en todas las listas excepto los registros en las listas de suscripción. ¿Cómo lograr esto?

Burlarse de un Django Queryset para probar una función que toma un queryset

Tengo una función de utilidad en mi proyecto Django, toma un queryset, obtiene algunos datos de él y devuelve un resultado. Me gustaría escribir algunas pruebas para esta función. ¿Hay alguna forma de “burlarse” de un QuerySet? Me gustaría crear un objeto que no toque la base de datos, y puedo proporcionarle una lista de […]

Subconsulta simple con OuterRef

Estoy tratando de hacer una Subconsulta muy simple que use OuterRef (no con fines prácticos, solo para que funcione), pero me mantengo en el mismo error. posts / models.py from django.db import models class Tag(models.Model): name = models.CharField(max_length=120) def __str__(self): return self.name class Post(models.Model): title = models.CharField(max_length=120) tags = models.ManyToManyField(Tag) def __str__(self): return self.title código […]

Agrupar por clave externa y mostrar elementos relacionados – Django

Tengo los siguientes modelos: class Company(CachedModel): name = models.CharField(max_length=255) class UserExtendedProfile(CachedModel): company = models.ForeignKey(Company) user = models.ForeignKey(User) Básicamente necesito obtener una lista de usuarios ordenados por compañía como este: Company A User 1 User 2 Company B User 3 user 4 Probé algunas cosas, y lo más cerca que pude llegar es: users = UserExtendedProfile.objects.values(‘company’, […]

Django admin inline: select_related

Usando Django 1.8 en Python 3.4.1 con modelos: class Product(models.Model): name = models.CharField(max_length=255) # some more fields here def __str__(self): return self.name class PricedProduct(models.Model): product = models.ForeignKey(Product, related_name=’prices’) # some more fields here def __str__(self): return str(self.product) class Coming(models.Model): # some unimportant fields here class ComingProducts(models.Model): coming = models.ForeignKey(Coming) priced_product = models.ForeignKey(PricedProduct) # more unimportant […]