как отсортировать по вычисленному значению в django

Настоятельно рекомендуем MongoJack , достойную библиотеку для отображения объектов Java в / из документов MongoDB.

Код будет выглядеть примерно так:

import java.util.Arrays;
import org.mongojack.JacksonDBCollection;
import com.mongodb.DB;
import com.mongodb.MongoClient;
import com.mongodb.ServerAddress;

public class Test {

    public static void main(String[] args) {

        MongoClient mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017)));
        DB db = mongoClient.getDB("test");

        Employee employee = new Employee();
        employee.setNo(1L);
        employee.setName("yogesh");

        JacksonDBCollection collectionData = JacksonDBCollection.wrap(db.getCollection("NameColl"), Employee.class, String.class);
        collectionData.save(employee);
        mongoClient.close();
    }

}

(PS: в настоящее время я использую mongo-java-driver v3.2.2 и mongojack v2.6.1)

6
задан Jiaaro 30 May 2009 в 23:34
поделиться

2 ответа

Если вам нужно выполнить сортировку в базе данных (потому что у вас много записей и вам нужно, например, разбить их на страницы), единственный реальный вариант - превратить репутацию в денормализованное поле (например, обновлено в переопределенном методе save () модели).

4
ответ дан 8 December 2019 в 03:54
поделиться

Поскольку ваш расчетный код существует только в Python, вы также должны выполнить сортировку в Python:

sorted (Profile.objects.all (), key = lambda p: p.reputation)
16
ответ дан 8 December 2019 в 03:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: