При чем тут фичи баз данных, если как орм алхимия более гибкая и функциональная?
Как в SQLAlchemy сделать:
аналог менеджеров (удобно иметь Model.objects для не удаленных записей и Model.all_objects для всех. Либо добавить функцию Model.objects.filtrate_for_user которая фильтрирует данные доступные для пользователя)
сделать авто join (что бы, например, сделать queryset.filter(some__nested__field=2) на основе queryparams)
селектнуть только некоторые поля и затем обратится к свойству объекта (User.objects.field('birthday').get().age где age это property класа User)
автоматически сделать запрос только в случаи необходимости:
user = User(
id=jwt_token_payload['user_id'],
username=jwt_token_payload['username']
)
print(user.id)
if some_case:
print(user.first_name) # дополнительный запрос
А в Django ORM невозможно сделать select ... from <subquery> что очень полезно в сложных агрегациях
Почему я должен Django REST Framework делать на SQLAlchemy?
Это просто пример в каких случиях Django ORM более удобна
Я также начал с SQLAlchemy и плохо относился к Django ORM до того как поработал с Django REST Framework.
А минус в карму за то, что кто-то со мной просто не согласен?
1. def shorten_link(self, *args, **kwargs)
Как знать что принимает и возращает эта функция?
Перечитать её код? А если там еще 5 таких же "гибких" функций? Перечитать рекурсивно все n тисяч строчек кода?
2. return response.json()['url']
Почему вы думаете что любой сервис с settings.SHORTER_URL имеет ключ url?
Что вы будете делать, если будет два сервиса с разными названиеми свойств?
Wildcard imports (from import *) should be avoided, as they make it unclear which names are present in the namespace, confusing both readers and many automated tools. www.python.org/dev/peps/pep-0008
Но если сервер получил запрос и, исходя из бизнес-логики, решил что он ошибочный (например: объект не найден), то в таком случае я считаю правильно ответить кодом 200
Почему тогда не 400 (или 404 если ID объекта это часть урлы)?
>>Думаете банальная обработка антикорозийкой увеличит стоимость в два раза?
Не в два разы, но на n% дороже чем у конкурента.
У меня такая же проблема, но я держал её во влажном месте.
Думаю проблема в том, что она рассчитана на сухое место (напр. кухня), как и современные автомобили требующие хорошою дорогу.
ИМХО есть и качественные товары, но они дороги. Например немецкие товары потому и есть более качественны, потому что стоят в основном в несколько раз дороже.
Пример:
USB кабель в магазинах Германии от 10€, у нас от 1€.
Фирмы это «организмы» которые хотят получить наибольшую прибыль. Если люди «обучают» нейронную сеть их делать дешёвые товары, то кто виноват?
Пример (парсер ест двойные пустые строки):
В принципе всю эту магию можно было и в во врапер запихнуть.
Здесь явно не то что вы хотите:
Нужно использовать дескрипторы чтобы получить правильный
self
Как в SQLAlchemy сделать:
Model.objects
для не удаленных записей иModel.all_objects
для всех. Либо добавить функциюModel.objects.filtrate_for_user
которая фильтрирует данные доступные для пользователя)queryset.filter(some__nested__field=2)
на основе queryparams)User.objects.field('birthday').get().age
гдеage
этоproperty
класаUser
)А в Django ORM невозможно сделать
select ... from <subquery>
что очень полезно в сложных агрегацияхЭто просто пример в каких случиях Django ORM более удобна
Я также начал с SQLAlchemy и плохо относился к Django ORM до того как поработал с Django REST Framework.
У меня нету таких прав.
1.
def shorten_link(self, *args, **kwargs)
Как знать что принимает и возращает эта функция?
Перечитать её код? А если там еще 5 таких же "гибких" функций? Перечитать рекурсивно все n тисяч строчек кода?
2.
return response.json()['url']
Почему вы думаете что любой сервис с
settings.SHORTER_URL
имеет ключurl
?Что вы будете делать, если будет два сервиса с разными названиеми свойств?
SQLAlchemy — поддержывает максимум фич базы даных
Django ORM — максимально удобно поддежрывает основые фичы баз даных
Посмотрите на Django REST Framework. Не думаю, что его реально сделать на SQLAlchemy
У нас на проекте использовали обе ORM через aldjemy
Почему тогда не 400 (или 404 если ID объекта это часть урлы)?
Можете объяснить что будет если удалять и создавать тот же елемент в новом словаре?
Я так понял что размер должен постоянно расти, но думаю, что вряд ли это так:
Не в два разы, но на n% дороже чем у конкурента.
У меня такая же проблема, но я держал её во влажном месте.
Думаю проблема в том, что она рассчитана на сухое место (напр. кухня), как и современные автомобили требующие хорошою дорогу.
ИМХО есть и качественные товары, но они дороги. Например немецкие товары потому и есть более качественны, потому что стоят в основном в несколько раз дороже.
Пример:
USB кабель в магазинах Германии от 10€, у нас от 1€.
Фирмы это «организмы» которые хотят получить наибольшую прибыль. Если люди «обучают»
нейронную сетьих делать дешёвые товары, то кто виноват?с кучей функций и за Х денег или с меньшем количеством функций за 2*Х денег?
Вот вам и ответ на вопрос качества.
Альтернатива?