Size: a a a

Django [ru] #STAY HOME

2020 April 24

Z

ZHU in Django [ru] #STAY HOME
Возможно ли в orm сделать 3 вложенных  групп одна к другой ?
источник

Z

ZHU in Django [ru] #STAY HOME
Или надо sql запрос писать
источник

AD

Alex Dem in Django [ru] #STAY HOME
Orekhov Web Dev.
всем привет, только изучаю джанго, пишу небольшой блог
https://github.com/Orex0v/to-do-list
1) как прикрутить регистрацию? пока сделал суперюзера и все
2) как пометить пост выполненным(поменять цвет)
3) если наживаю редактировать, отправляется на страницу с формой, надо прикрутить туда дедлайн(чтоб был выбор даты как в админке)
и посоветуйте идеи че накидать для учебы
1) джанго док, встроенные auth forms/views
2) если перегружаешь страницу после каждого запроса пользователя - стили (css)
3) джанго док, forms
источник

AD

Alex Dem in Django [ru] #STAY HOME
Strongman
EMAIL_USE_TLS = False
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.ukr.net;'
EMAIL_PORT = 465
EMAIL_HOST_USER = '***********'
EMAIL_HOST_PASSWORD = '**********'
DEFAULT_FROM_EMAIL = "*******"
я не очень уверен, но точно ли там нужна точка с запятой в host?
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
как джанга выполняет такой поиск?
objects.filter(country__pk=None)
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
и как сделать, что если нон, то выводило бы всё?
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
задача: фильтровать по нескольким полям, но если значение нон, то этот фильтр игнорировать
источник

AD

Alex Dem in Django [ru] #STAY HOME
Александр Виноградов
и как сделать, что если нон, то выводило бы всё?
field__isnull=True
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
Alex Dem
field__isnull=True
так сделал
def get_brands(request, country_id=None, region_id=None, area_id=None):
   """API возвращает список брендов, привязанных географически"""

   if request.method == 'GET':
       obj = models.Brand.objects
       if country_id:
           obj = obj.filter(country_pk=country_id)
       if region_id:
           obj = obj.filter(region_pk=region_id)
       if area_id:
           obj = obj.filter(area_pk=area_id)
источник

AD

Alex Dem in Django [ru] #STAY HOME
Александр Виноградов
так сделал
def get_brands(request, country_id=None, region_id=None, area_id=None):
   """API возвращает список брендов, привязанных географически"""

   if request.method == 'GET':
       obj = models.Brand.objects
       if country_id:
           obj = obj.filter(country_pk=country_id)
       if region_id:
           obj = obj.filter(region_pk=region_id)
       if area_id:
           obj = obj.filter(area_pk=area_id)
есть django models Q()
их можно комбинировать операторами и/или
источник

AD

Alex Dem in Django [ru] #STAY HOME
я не совсем понимаю, что надо сделать, но ответ явно где-то там, раз уж речь про опциональные фильтры
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
Alex Dem
я не совсем понимаю, что надо сделать, но ответ явно где-то там, раз уж речь про опциональные фильтры
есть три поля, по которым делается поиск. Если для поля id не задан, то по нему не фильтруем
источник

AD

Alex Dem in Django [ru] #STAY HOME
Александр Виноградов
есть три поля, по которым делается поиск. Если для поля id не задан, то по нему не фильтруем
ну тогда это оно

https://docs.djangoproject.com/en/3.0/topics/db/queries/
найди строку

from django.db.models import Q
источник

AD

Alex Dem in Django [ru] #STAY HOME
собирай фильтры согласно алгоритма и один раз передавай в filter()
источник

AD

Alex Dem in Django [ru] #STAY HOME
Александр Виноградов
есть три поля, по которым делается поиск. Если для поля id не задан, то по нему не фильтруем
или речь о том, что в БД может не быть id?
тогда я бы собрал через OR
и это тоже нужен Q()

.filter(Q(field=value)|Q(field__isnull=True))
источник

T

Tim in Django [ru] #STAY HOME
че за жесть))
почему не использовать django-filter??
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
Alex Dem
собирай фильтры согласно алгоритма и один раз передавай в filter()
как быть, если искомое None? оно его проигнорирует или подставит в запрос нон?
Q(question__startswith=None),
источник

T

Tim in Django [ru] #STAY HOME
Александр Виноградов
как быть, если искомое None? оно его проигнорирует или подставит в запрос нон?
Q(question__startswith=None),
источник

АВ

Александр Виноградов in Django [ru] #STAY HOME
батарейки использовать нельзя
источник

AD

Alex Dem in Django [ru] #STAY HOME
все равно начать надо с ОРМ
а оформлять через джанго фильтр или нет - вопрос второстепенный
источник