Size: a a a

Django [ru] #STAY HOME

2021 March 31

A

Ahhi in Django [ru] #STAY HOME
Denis Taranov
редис используется много где, это быстрая приколдезная nosql база (можно кешировать с помощью редиса, можно свои приколдезы там хранить какие-нить)
цэлэри - это фреймворк для очередей задач, собственно используется для очередей задач (драствути я копетан)
редис можно использовать как бэкенд для цэлэри, но это не бестпрактис
а что бестпрактис?
источник

А

Артём in Django [ru] #STAY HOME
Denis Taranov
редис используется много где, это быстрая приколдезная nosql база (можно кешировать с помощью редиса, можно свои приколдезы там хранить какие-нить)
цэлэри - это фреймворк для очередей задач, собственно используется для очередей задач (драствути я копетан)
редис можно использовать как бэкенд для цэлэри, но это не бестпрактис
То есть целери больше в сторону крона?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Denis Taranov
летний салатик с сельдереем и редиской, можно добавить помидоры, оливковое масло
кролика забыл)
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Ahhi
а что бестпрактис?
Сделать свою костыльнуо-велосипедную очередь 👍
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Артём
То есть целери больше в сторону крона?
нет
источник

A

Ahhi in Django [ru] #STAY HOME
Denis Taranov
Сделать свою костыльнуо-велосипедную очередь 👍
ты про использование селери вообще или именно про связку селери + редис?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Ahhi
а что бестпрактис?
тут вкусы расходятся, по мнению многих - вполне себе бестпрактис
источник

DT

Denis Taranov in Django [ru] #STAY HOME
Ahhi
ты про использование селери вообще или именно про связку селери + редис?
много нюансов, для некоторых задач может подойти, но если хочешь делать HA то редис тебе станет поперёк горла, либо ты будешь под амфетамином мониторить его и тыкать палкой каждые полчаса
источник

Aツ

Anton ツ Centrino in Django [ru] #STAY HOME
использовать с Celery RabitMQ?
источник

DT

Denis Taranov in Django [ru] #STAY HOME
есть, конечно, кластеры редиса, Sentinel
источник

Aツ

Anton ツ Centrino in Django [ru] #STAY HOME
есть две модели с FK
class Order(models.Model):
   sum = models.IntegerField()


class OrderItem(models.Model):
   order = models.ForeignKey(Order)


как можно одним запросом получить объект модели Order, чтобы перебирать внутри OrderItem без подзапросов?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Anton ツ Centrino
есть две модели с FK
class Order(models.Model):
   sum = models.IntegerField()


class OrderItem(models.Model):
   order = models.ForeignKey(Order)


как можно одним запросом получить объект модели Order, чтобы перебирать внутри OrderItem без подзапросов?
select_related?
источник

DT

Denis Taranov in Django [ru] #STAY HOME
непонел. Из orderItem получить order?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
без подзапросов никак
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Nikolay Cherniy
select_related?
врядли
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Anton ツ Centrino
есть две модели с FK
class Order(models.Model):
   sum = models.IntegerField()


class OrderItem(models.Model):
   order = models.ForeignKey(Order)


как можно одним запросом получить объект модели Order, чтобы перебирать внутри OrderItem без подзапросов?
ты можешь получить заказ
и от объекта заказа
список айтемов по related_name
источник

Aツ

Anton ツ Centrino in Django [ru] #STAY HOME
из OrderItems можно получить так

ot = OrderItems.objects.select_related().filter(order__id=pk)
Но хотелось бы иметь от модели Order
источник

DT

Denis Taranov in Django [ru] #STAY HOME
аа, ну тогда related_name
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Anton ツ Centrino
из OrderItems можно получить так

ot = OrderItems.objects.select_related().filter(order__id=pk)
Но хотелось бы иметь от модели Order
prefetch_related в обратную сторону
источник

DT

Denis Taranov in Django [ru] #STAY HOME
class Order(models.Model):
   sum = models.IntegerField()


class OrderItem(models.Model):
   order = models.ForeignKey(Order, related_name='items')

order = Order.objects.get()
for item in order.items.all():
   ...
источник