Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 25, 2017 10:27:08

WhiteTiger
Зарегистрирован: 2012-11-15
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

TastyPie и возврат кастомных значений

Знакомлюсь с использованием Django+Tastypie. Как работать с ресурсами/моделями/CRUD разобрался по документации, но не могу найти как возвращать в ответах данные не связанные с записями моделей напрямую.
К примеру, у меня есть модель BookCats связанная с mysql-табличкой категорий книг. И модель Books - таблица книг. Их TastyPie-ресурсы нормально обеспечивает выборку и CRUD. Однако мне кроме этого необходимо по отдельному запросу возвращать список состоящий из id категорий и количества книг в них. Проблема явно не уникальная и видимо я гуглю как-то не так.
Подскажите, где можно почитать о реализации подобных вещей?

Офлайн

#2 Сен. 26, 2017 11:18:15

WhiteTiger
Зарегистрирован: 2012-11-15
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

TastyPie и возврат кастомных значений

Помог метод dehydrate() ресурсов TastyPie.
Делаем ресурс извлекающий только id категорий из модели категорий, а затем в нём же объявляем

     def dehydrate(self, bundle):
        bundle.data['count'] = Books.objects.filter(cat_id__exact=bundle.data['id']).count()
        return bundle
В возвращаемом JSON на каждое поле с “id” появляется поле “count”.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version