Size: a a a

Django [ru] #STAY HOME

2021 February 08

c

crawler in Django [ru] #STAY HOME
Nik S
А подскажите еще))
А куда посмотреть и в сторону чего подумать, чтобы автоматизировать генерацию поля unique_users вместо
products = Product.objects.all()
for product in products:
   product.unique_users = Wishlist.objects.filter(products__id=product.id).values_list('user', flat=True).distinct().count()
как-то сложно на уровне интеллекта получается...
Сам подумал - тут можно просто при добавление/удалении делать +/- 1.

А если - ?
wishlists = Wishlist.objects.filter(user_id=request.user.id)
for wishlist in wishlists:
       wishlist.products_ids = wishlist.products.values_list('id', flat=True)
 # [List]
В SQL базах данных вроде бы списки не хранятся?
Чем можно заменить поле состоящее из списка с id [1,45,12,18,15]? c целью в шаблонах мочь чекать {% if id in wishlist.products_ids  %} ?
можете добавить метод в модель. еще посмотрите property
источник

NS

Nik S in Django [ru] #STAY HOME
а где в джанге можно задать процедуру типа on_start - выполнить функцию, или раз в сутки выполнить функцию?
т.е. независимо от того юзает ли ктото сайт - сам должен провернуть процедуру, как на асинхронном сервере безконечный цикл с asyncio.sleep(timeout)
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Господа, опробовано на своей шкуре - daphne для всех ASGI реквестов джанги - плохая идея, юзайте uvicorn
источник

А

Артём in Django [ru] #STAY HOME
Может подсказать, как правильно это делается, что я пытаюсь? Ошибка и код на пастебине - https://pastebin.com/8akRFqX9
источник

IK

Ivan Karniyenka in Django [ru] #STAY HOME
всем привет.
при тестировании не получается вывести в консоль инфу из логгера. пробовал разные настройи - не помогает.
может кто сталкивался, или знает где посмотреть?
источник

IK

Ivan Karniyenka in Django [ru] #STAY HOME
Артём
Может подсказать, как правильно это делается, что я пытаюсь? Ошибка и код на пастебине - https://pastebin.com/8akRFqX9
оно считает, что ты обращаешься к аттрибуту, которого нет у модели.
попробуй через objects(но это неточно)
источник

А

Артём in Django [ru] #STAY HOME
Member.objects.get(customer=i.customer)?
источник

А

Артём in Django [ru] #STAY HOME
Так работает, но мне после get(), нужно filter() применить, а выдает он ту же ошибку
источник

IK

Ivan Karniyenka in Django [ru] #STAY HOME
Артём
Member.objects.get(customer=i.customer)?
for i in m:
 i.objects.filter(item__contains=['Сапфир']).count()
источник

IK

Ivan Karniyenka in Django [ru] #STAY HOME
Артём
Member.objects.get(customer=i.customer)?
и вообще непонятно что ты считаешь
источник

NS

Nik S in Django [ru] #STAY HOME
а правильно ли я понял
одно подчеркивание _  - это когда user_id через ForeignKey
два подчеркивания __ - это когда products__id через Many2Many ?
а у OneToOne?
источник

N

Nire in Django [ru] #STAY HOME
Nik S
а правильно ли я понял
одно подчеркивание _  - это когда user_id через ForeignKey
два подчеркивания __ - это когда products__id через Many2Many ?
а у OneToOne?
не правильно понял
источник

N

Nire in Django [ru] #STAY HOME
читай про lookup
источник

N

Nire in Django [ru] #STAY HOME
источник

NS

Nik S in Django [ru] #STAY HOME
Nire
читай про lookup
т.е. lookup-ы, это два подчеркивания, и их исккуственно досоздать можно или ретрансформировать
а одно подчеркивание?
наверное из той же серии, надо просто постоянно юзать, и смотреть на подсказки пайчарма чтобы не запутаться
источник

A

Alexander in Django [ru] #STAY HOME
Dan Tyan
для проверки есть как минимум два метода
qs.exists()
qs.count()
А если coint() применять отдельно, то разве это не будет отдельный (независимый) запрос к бд?


a = Mymodel.objects.filter(...)
if a.count():
   # ....
   # передаём a в темплейт для перечисления
источник

A

Alexander in Django [ru] #STAY HOME
Лишний запрос - это ж тоже не оч хорошо?
источник

D

Dk in Django [ru] #STAY HOME
Alexander
А если coint() применять отдельно, то разве это не будет отдельный (независимый) запрос к бд?


a = Mymodel.objects.filter(...)
if a.count():
   # ....
   # передаём a в темплейт для перечисления
А зачем вам вообще count и перечисления?
источник

D

Dk in Django [ru] #STAY HOME
Написали же, что можно сразу обновить всё, что отфильтровано
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Alexander
А если coint() применять отдельно, то разве это не будет отдельный (независимый) запрос к бд?


a = Mymodel.objects.filter(...)
if a.count():
   # ....
   # передаём a в темплейт для перечисления
да будет запрос
но это лечше чем
len(qs)
источник