У меня есть объект с более чем 25 свойствами. Из этих 25, 15 свойств отображаются во внешней таблице. Эта таблица позволяет выполнять сортировку (как ASC & DESC) для каждого свойства.Индивидуальный запрос данных для большого количества объектов
Чтобы обработать это в бэкэнд, я проверяю тип заказа и записываю запрос для каждого свойства как для ASC, так и для DESC-заказа. Чтобы обрабатывать сортировку 15 записей, у меня есть много кода строки, который выглядит аналогичным. Единственным отличием является тип заказа.
код выглядит следующим образом:
@classmethod
def retrieve(cls, order, limit, offset):
if order == '-property_1':
results = cls.query(ancestor=parent).order(-cls.property_1).fetch(limit, offset=offset)
elif order == 'property_1':
results = cls.query(ancestor=parent).order(cls.property_1).fetch(limit, offset=offset)
.
.
.
.
elif order == '-property_15':
results = cls.query(ancestor=parent).order(-cls.property_15).fetch(limit, offset=offset)
elif order == 'property_15':
results = cls.query(ancestor=parent).order(cls.property_15).fetch(limit, offset=offset)
и ее создание индекса 2 датастора для каждого свойства.
- kind: EntityName
ancestor: yes
properties:
- name: property_1
- kind: EntityName
ancestor: yes
properties:
- name: property_1
direction: desc
Мой вопрос здесь Есть ли лучший способ справиться с этим делом?
Первая строка этого ответа, как представляется, продвижение ненужную кода; очевидно, лучший способ сделать это (см. ответ Грега). – ChrisC73
@ ChrisC73 Я обсуждал только аспекты индексирования/запроса - я обновил первую строку, чтобы отразить это. –
согласовано; потенциальное количество требуемых индексов, безусловно, вызывает озабоченность – ChrisC73