Size: a a a

Django [ru] #STAY HOME

2021 January 09

СВ

Стасян Владимирович... in Django [ru] #STAY HOME
category = Category.objects.filter(id=self.category_id).values_list('name')[0][0]
но как-то некрасиво
источник

СВ

Стасян Владимирович... in Django [ru] #STAY HOME
ну а self.category.name тянет весь объект category
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Стасян Владимирович
category = Category.objects.filter(id=self.category_id).values_list('name')[0][0]
но как-то некрасиво
например так: Category.objects.filter(id=self.category_id).values('name')['name']
источник

СВ

Стасян Владимирович... in Django [ru] #STAY HOME
ну тоже самое).
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
только, да - надо еще [0] 🤔
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Стасян Владимирович
ну тоже самое).
тогда так проверь: Category.objects.only('name').get(id=self.category_id)
источник

СВ

Стасян Владимирович... in Django [ru] #STAY HOME
category = Category.objects.filter(id=self.category_id).values_list('name', flat=True)[0]
ну или так что тоже тоже самое. А напрямую  в базу может как-то обратится?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
или так: `Category.objects.only('name').filter(id=self.category_id).first()`
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Стасян Владимирович
category = Category.objects.filter(id=self.category_id).values_list('name', flat=True)[0]
ну или так что тоже тоже самое. А напрямую  в базу может как-то обратится?
> А напрямую  в базу может как-то обратится?
raw sql?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Стасян Владимирович
ну а self.category.name тянет весь объект category
а чего ты запарился для одного инстанса?
источник

СВ

Стасян Владимирович... in Django [ru] #STAY HOME
ага. Ну есть же bulk методы некоторые которы прямо с баой работают а не с обьектом. Может и в этом случае есть что-то похожее?
источник

СВ

Стасян Владимирович... in Django [ru] #STAY HOME
тестил запросы и офигел что для получения имени тянет весь обьект. Нехило милисекунд жрет. А это большой  список из "%s" - %s' % (category, name)
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Стасян Владимирович
ага. Ну есть же bulk методы некоторые которы прямо с баой работают а не с обьектом. Может и в этом случае есть что-то похожее?
варианты я перечислил, есть еще похожие. bulk решают задачи производительности, а тут всего лишь один инстанс
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Стасян Владимирович
тестил запросы и офигел что для получения имени тянет весь обьект. Нехило милисекунд жрет. А это большой  список из "%s" - %s' % (category, name)
чуствуешь просадку в производительности?
Я последнее время, стараюсь юзать .values() & .values_list(named=True). Тут свои недостатки: иногда приходится самому писать код, чтоб маппнуть словари в объекты (обычно namedtuple)
источник

СВ

Стасян Владимирович... in Django [ru] #STAY HOME
это банальный str но 'debug_toolbar' от него офигевает. Если иналйнов из таких обьектов много
источник

СВ

Стасян Владимирович... in Django [ru] #STAY HOME
Artem Gubatenko
чуствуешь просадку в производительности?
Я последнее время, стараюсь юзать .values() & .values_list(named=True). Тут свои недостатки: иногда приходится самому писать код, чтоб маппнуть словари в объекты (обычно namedtuple)
сильно. Это инлайн категории товаров предназначеный для задания порядка товаров в категории
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Стасян Владимирович
это банальный str но 'debug_toolbar' от него офигевает. Если иналйнов из таких обьектов много
аа, я не пользуюсь им из-за этих тормозов, silk'а хватает
источник

СВ

Стасян Владимирович... in Django [ru] #STAY HOME
не пользуешься str или инлайнами? что такое silk?
источник

D

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

AG

Artem Gubatenko in Django [ru] #STAY HOME
Стасян Владимирович
не пользуешься str или инлайнами? что такое silk?
не пользуюсь debug-toolbar
silk -> django-silk
источник