Каковы плюсы и минусы использования пакетов REST API, связанных с django, таких как tastypie,поршень или django-rest для вызовов не-ORM вместо простого использования представлений?
Зачем использовать пакеты REST API, связанные с django, для вызовов, отличных от ORM?
Ответы (2)
Я не думаю, что на самом деле вопрос в том, напрямую ли ресурсы API сопоставляются с моделями или нет. Дело в том, что эти пакеты API абстрагируют большую часть шаблонного кода, который вы в конечном итоге выполняете, например, проверяете тип запроса, сопоставляете URL-адреса и сериализуете свой вывод. Связывание ресурса с моделью — это просто одна из многих функций, позволяющая упростить форматирование представления данных.
Хотя я не вижу в этом серьезного недостатка, я полагаю, что использование пакета API требует от вас соответствия его спецификациям и, как правило, работы в рамках его функций. Но такие пакеты, как поршень или вкусный пирог, настолько удобны, что я не могу придумать реальной причины НЕ использовать их, если ваша цель — предоставить RESTful API. Вы получаете так много бесплатно. Эти пакеты также, как правило, включают в себя дополнительные функции аутентификации и декораторы.
Написание базовых представлений django — это то же самое, что создание собственного API. Либо используйте пакет для удобства, либо сверните свой собственный, если вам действительно нужно что-то нестандартное, чего они не предоставляют.
Помимо преобразования вызовов REST в ORM, хороший пакет API может обрабатывать многие аспекты, такие как возможность поддержки нескольких серверных частей сериализации, обработка аутентификации/авторизации, кэширование, регулирование и многое другое.
Если вы не ожидаете, что вашему проекту когда-либо потребуются эти преимущества в будущем, переход к жестко закодированным представлениям может быть самым быстрым, однако это, как правило, не так.