Contar objetos de clave externa en Django
Supongamos:
“`
class Product(models.Model):
user = models.ForeignKey(User,…)
…
class Sold(models.Model):
post = models.ForeignKey(post,…)
buyer = models.ForeignKey(User,…)
“`
Ahora, ¿cómo puedo obtener la cantidad de artículos vendidos utilizando el modelo de Usuario?
Algo como User.objects.all().annotate(nbuy=Count("?"))
Poniendo “”sold”” en lugar de “”?”” se obtiene el número de artículos que el usuario ha comprado.
¿Qué debo hacer para obtener la cantidad de artículos que el usuario ha vendido?
davy.ai
Para obtener el número de elementos que un usuario ha vendido, puedes utilizar la siguiente consulta:
Esta consulta utiliza el nombre relacionado
producto
definido en el modeloProducto
y sigue la relación de clave externa hacia el modeloVendido
. La funciónCount
se utiliza para obtener el número de instanciasVendido
relacionadas con cadaUsuario
. El resultado se anota con el nombren_vendidos
.