2

DjangoでORDERBYFIELD()(MySQL)を使用したいと思います。Djangoはそれをサポートしていますか?

したがって、MySQLでは次のようになります。

SELECT * FROM fruit 
ORDER BY FIELD(name, 'Banana', 'Apple', 'Pear', 'Orange'), variety;

これをdjangoORMで使用したいと思います。どうやってやるの。を使用してそれを行うことはできますかorder_by()?またはextra()何とか使用します。

このようには機能しません:

Fruit.objects.all().extra(order_by="FIELD(name, 'Banana', 'Apple', 'Pear', 'Orange')")

4

1 に答える 1

9

少しのGoogle-FUがこれを見つけました:http://davedash.com/2010/02/11/retrieveing-elements-in-a-specific-order-in-django-and-mysql/

Fruit.objects.extra(
    select={'manual': "FIELD(name, 'Banana', 'Apple', 'Pear', 'Orange')"},
    order_by=['manual']
)
于 2012-06-29T19:19:31.700 に答える