Me cuesta entender cómo funciona el ORM de Django. Lo que quiero hacer es obtener una lista de valores distintos dentro de un campo en mi mesa .... el equivalente de uno de los siguientes:Seleccionar valores distintos de un campo de tabla
SELECT DISTINCT myfieldname FROM mytable
(o alternativamente)
SELECT myfieldname FROM mytable GROUP BY myfieldname
I' Al menos, me gusta hacerlo de la manera Django antes de recurrir a sql en bruto. Por ejemplo, con una tabla:
Identificación, calle, ciudad
1, Main Street, Hull
2, otra calle, Hull
3, Bibble Way, Leicester
4, Otra forma, Leicester
5, High Street, Londidium
me gustaría llegar:
Hull, Leicester, Londidium.
Actualmente funciona. ¡Sin embargo! No pude hacer que funcione en todos mis modelos. Weidly, funcionó en algunos, pero no en otros. Para aquellos que tienen un pedido de Meta, no funciona. Por lo tanto, primero debe borrar el orden en el conjunto de preguntas. models.Shop.objects.order_by(). Values ('city'). Distinct() – alj
Es importante tener en cuenta que 'values_list' en realidad no devuelve una lista. Devuelve algo así como un conjunto de preguntas.Me pareció útil usar siempre list() alrededor de llamadas a values_list. – dheerosaur
'values_list' devuelve ValuesListQuerySet que es un iterador. Enviar a la lista puede ser útil, pero también puede afectar el rendimiento cuando todas las filas deben evaluarse a la vez, especialmente con grandes conjuntos de datos. –