Articles of django orm

Actualización masiva de Django con cadena de reemplazo

Estoy tratando de actualizar y modificar un campo de cadena ORM de Django. El SQL equivalente para hacer esto es: UPDATE example_table SET string_field = REPLACE(string_field, ‘old text’, ‘new text’); Con esa consulta, espero que el old text y el old text more text sean reemplazados por el new text new text more text y […]

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 […]

Django 1.8 ArrayField añadir y extender

Django 1.8 vendrá con nuevos tipos de campos avanzados, incluido ArrayField, que dependen de PostgreSQL y se implementan a nivel de base de datos. El campo de matriz de PostgreSQL implementa un método de adición . Sin embargo, no puedo encontrar ninguna documentación sobre la adición de un elemento a un ArrayField . Esto claramente […]

¿Cómo realizar la condición OR en django queryset?

Quiero escribir una consulta de Django equivalente a esta consulta SQL: SELECT * from user where income >= 5000 or income is NULL. ¿Cómo construir el filtro queryset Django? User.objects.filter(income__gte=5000, income=0) Esto no funciona, porque es AND los filtros. Quiero OR los filtros para obtener la unión de querysets individuales.

Restar dos columnas anotadas

Necesito poder ordenar en el agregado de dos columnas anotadas Así que me gustaría hacer algo como esto: c = c.annotate(metric=Sum(‘results__metric’)) c = c.annotate(metric_prior=Sum(‘results__metric_prior’)) c = c.annotate(variance=F(‘metric’)-F(‘metric_prior’)) #doesn’t work, for demonstrative purposes only y entonces: c = c.order_by(‘variance’) ¿Alguien sabe cómo lograr algo como lo anterior?

Consulta de Django para la contención de subconjuntos de muchos a muchos

¿Hay alguna forma de consultar la contención de un subconjunto o superconjunto con campos de muchos a muchos? Supongamos que cada persona tiene una lista de aves que quieren ver, y cada pajarera alberga una lista de aves. ¿Cómo puedo hacer una consulta para encontrar, para una instancia dada de la Persona, qué Aviarios tienen […]

Django ORM, grupo por día

Estoy intentando agrupar productos por DÍA, sin embargo, date_created es un campo de fecha y hora. Product.objects.values(‘date_created’) \ .annotate(available=Count(‘available_quantity’)) devoluciones: [ {‘date_created’: datetime.datetime(2012, 4, 14, 13, 3, 6), ‘available’: 1}, {‘date_created’: datetime.datetime(2012, 4, 14, 17, 12, 9), ‘available’: 1}, … ] Quiero: [ {‘date_created’: datetime.datetime(2012, 4, 14), ‘available’: 2}, … ] edición: base de datos […]

¿Cuándo busca Django la clave principal de las claves externas?

Tengo dos modelos simples, uno representa una película y el otro representa una calificación para una película. class Movie(models.Model): id = models.AutoField(primary_key=True) title = models.TextField() class Rating(models.Model): id = models.AutoField(primary_key=True) movie = models.ForeignKey(Movie) rating = models.FloatField() Mi expectativa es que primero podría crear una Movie y una Review que Review referencia a esa película y […]

Django, consulta el filtrado desde el método modelo.

Tengo estos modelos: def Foo(Models.model): size = models.IntegerField() # other fields def is_active(self): if check_condition: return True else: return False def Bar(Models.model): foo = models.ForeignKey(“Foo”) # other fields Ahora quiero consultar las Barras que tienen Foo activos como tales: Bar.objects.filter(foo.is_active()) Estoy recibiendo un error como SyntaxError at / (‘non-keyword arg after keyword arg’ ¿Cómo puedo […]

Cómo implementar seguidores / seguidores en Django.

Quiero implementar la función seguidores / siguientes en mi aplicación Django. Tengo una clase UserProfile para cada usuario (django.contrib.auth.User): class UserProfile(models.Model): user = models.ForeignKey(User, unique = True, related_name = ‘user’) follows = models.ManyToManyField(“self”, related_name = ‘follows’) Así que traté de hacer esto en shell de python: >>> user_1 = User.objects.get(pk = 1) # >> user_2 […]