Size: a a a

Django [ru] #STAY HOME

2021 March 29

SS

Sergei Sergeevich in Django [ru] #STAY HOME
Shodmon
if queryset.filter(path=path).exists():
return queryset.filter(path=path).first()
else:
return queryset.filter(path='*').first()

или

obj = queryset.filter(path=path).first()
if not obj:
obj = queryset.filter(path='*').first()

return obj
второй вариант - как раз ответ на исходный вопрос. при выполнении произведет максимум два запроса. благодарю!
источник

S

Stanley in Django [ru] #STAY HOME
Sergei
Всем привет!)
Подскажите ,зачем использовать   through в   m2m?\
Чтобы явно указать промежуточную таблицу
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Sergei
Всем привет!)
Подскажите ,зачем использовать   through в   m2m?\
например у тебя есть m2m поле "друзья" у пользователей и ты хочешь указывать/узнавать дату "подруживания" между ними
источник

A

Alexander in Django [ru] #STAY HOME
Вывожу формсет. Почему элемент с классом TOTAL_FORMS не выводится на страницу?
источник

Д

Дима in Django [ru] #STAY HOME
Есть ли смысл самому прописывать сложные запросы к БД, или лучше пользоваться только стандартной orm и работать с данными в питоне?
источник

A

Alexander in Django [ru] #STAY HOME
Дима
Есть ли смысл самому прописывать сложные запросы к БД, или лучше пользоваться только стандартной orm и работать с данными в питоне?
Смотря "какие" сложные запросы
источник

S

Stepan in Django [ru] #STAY HOME
Дима
Есть ли смысл самому прописывать сложные запросы к БД, или лучше пользоваться только стандартной orm и работать с данными в питоне?
в 99% случаях достаточно orm
источник

Д

Дима in Django [ru] #STAY HOME
SELECT author, SUM(amount*price) as Стоимость
FROM book
WHERE title NOT IN('Идиот', 'Белая гвардия')
GROUP BY author
HAVING SUM(amount*price)>5000
ORDER BY Стоимость DESC
источник

Д

Дима in Django [ru] #STAY HOME
Сейчас учу sql, дошел до вложенных запросов. По сути можно и так и так, но что является бест практис? Оптимизация через перенос всей логики в СУБД или чистый код без лишнего sql ?
источник

S

Stepan in Django [ru] #STAY HOME
Дима
Сейчас учу sql, дошел до вложенных запросов. По сути можно и так и так, но что является бест практис? Оптимизация через перенос всей логики в СУБД или чистый код без лишнего sql ?
Raw queries не является best practices, для запросов в django сделали orm, но оставили возможность писать raw queries. Raw стоить писать только в том случае если: 1) orm не покрывает то что тебе надо написать, 2) можно написать быстрее и скорость — критична.
источник

S

Stanley in Django [ru] #STAY HOME
Дима
Сейчас учу sql, дошел до вложенных запросов. По сути можно и так и так, но что является бест практис? Оптимизация через перенос всей логики в СУБД или чистый код без лишнего sql ?
Избегают использование sql в том случае если в дальнейшем планируется сменить БД с постгре например на оракл, тогда пишут все на орм, чтобы запросы не переписывать. Твой запрос не сложный, орм Джанги справится
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Чет меня плавит, не могу запрос написать, может кто поможет:
Есть модели:

class Subscribe:
   doctor = ...
   patient = ...
   subscribe_status = ...
   created = ...

class TreatmentRequest:
   doctor = ...
   patient = ...
   treatment_status


Мне нужно взять все TreatmentRequests у которых определенный treatment_status и последняя созданная Subscribe с такими же doctor и patient как и у него имеет определенный subscribe_status

last_subscribe = Subscribe.objects.filter(doctor=OuterRef('doctor'), patient=OuterRef('patient')).latest('created').values('subscribe_status')

   treatment_requests = TreatmentRequest.objects.filter(treatment_status=TreatmentStatus.OPENED.value).annotate(
       last_subscribe_status=Subquery(last_subscribe)
   ).filter(last_subscribe_status=SubscribeStatus.CLOSED.value)
источник

S

Shodmon in Django [ru] #STAY HOME
Дима
Сейчас учу sql, дошел до вложенных запросов. По сути можно и так и так, но что является бест практис? Оптимизация через перенос всей логики в СУБД или чистый код без лишнего sql ?
чего? (про последний вопрос)
источник

Т

Татьяна in Django [ru] #STAY HOME
Продам готовую базу  3500+ Telegram чатов по СНГ Бизнес тематики 💼 за 10 долларов. Подойдет для рассылки, поиска новых клиентов, инвайтинга, парсинга аудитории, рекламы. По всем вопросам пишите в личку.
источник

Y

Yaroslav in Django [ru] #STAY HOME
Shodmon
чего? (про последний вопрос)
Без sql смущает?
источник

G

GithubReleases in Django [ru] #STAY HOME
encode/django-rest-framework tagged: 3.12.4
Link: https://github.com/encode/django-rest-framework/releases/tag/3.12.4
Release notes:
version 3.12.4
источник

ВЮ

Владислав Юн... in Django [ru] #STAY HOME
Привет всем
Извиняюсь, возможно, за тупой вопрос(с DRF не очень часто до этого приходилось сталкиваться)

Хочу передавать в ModelSerializer в data не все поля, а только те, которые нужно обновить. При этом хочу их все равно валидировать.
В доках написано, что partial=True позволяет добиться такого поведения. Но is_valid возвращает False.
Подскажите, плиз, верно ли я понимаю вообще значение partial=True или нет?
источник

AK

Alex Kanikov in Django [ru] #STAY HOME
Ищу человека готового за вознаграждение  помочь интегрировать Пейпал. Нужны консультации
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Denis Taranov
Чет меня плавит, не могу запрос написать, может кто поможет:
Есть модели:

class Subscribe:
   doctor = ...
   patient = ...
   subscribe_status = ...
   created = ...

class TreatmentRequest:
   doctor = ...
   patient = ...
   treatment_status


Мне нужно взять все TreatmentRequests у которых определенный treatment_status и последняя созданная Subscribe с такими же doctor и patient как и у него имеет определенный subscribe_status

last_subscribe = Subscribe.objects.filter(doctor=OuterRef('doctor'), patient=OuterRef('patient')).latest('created').values('subscribe_status')

   treatment_requests = TreatmentRequest.objects.filter(treatment_status=TreatmentStatus.OPENED.value).annotate(
       last_subscribe_status=Subquery(last_subscribe)
   ).filter(last_subscribe_status=SubscribeStatus.CLOSED.value)
сделал
    last_subscribe = Subscribe.objects.filter(doctor=OuterRef('doctor'), patient=OuterRef('patient')).order_by(
       '-created').values('subscribe_status')[:1]
   treatment_requests = TreatmentRequest.objects.filter(treatment_status=TreatmentStatus.OPENED.value).annotate(
       last_subscribe_status=Subquery(last_subscribe)
   ).filter(last_subscribe_status=SubscribeStatus.CLOSED.value)
источник

АТ

Алексей Третьяков... in Django [ru] #STAY HOME
всем привет, принимаю input провожу вычисления и результат заношу в бд, как это реализовуется, где можно почитать? может пример на github
источник