Size: a a a

Django [ru] #STAY HOME

2020 June 18

A

Akhma in Django [ru] #STAY HOME
from <название>
источник

A

Akhma in Django [ru] #STAY HOME
как еще D
источник

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
Egor
.filter(category_id__in=some_dict.keys()) ???
Понял. Извини. А цикл чем не устраивает?
источник

E

Egor in Django [ru] #STAY HOME
tot samiy neizvestniy
Понял. Извини. А цикл чем не устраивает?
Это же долго
источник

A

Akhma in Django [ru] #STAY HOME
Ха, прикол. Оказывается если в названии приложения есть "-" то его не  увидит
источник

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
Egor
Это же долго
Другого пока на ум не приходит...
источник

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
Но вопрос интересный
источник

J

Jack in Django [ru] #STAY HOME
tot samiy neizvestniy
Сможешь
Еее
источник

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
Akhma
Ха, прикол. Оказывается если в названии приложения есть "-" то его не  увидит
Поэтому никто и не менует с "-")
источник

A

Akhma in Django [ru] #STAY HOME
tot samiy neizvestniy
Поэтому никто и не менует с "-")
Откуда же я знал)
источник

D

D in Django [ru] #STAY HOME
Akhma
Откуда же я знал)
вот тут Naming Conventions
источник

DO

D. Ouhh in Django [ru] #STAY HOME
django может продолжать цепочку имейлов? отправил первый, через какое-то время к нему приложил второй.
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Egor
Это не то, это установит для всех категорий одно и тоже значение
а ты сможешь на голом sql составить запрос на обновление разных записей разными значениями? Я не думаю что это возможно.

Цикл, у тебя, будет по любому, но можно:
1. получить все объекты
2. пройтись по ним циклом и присвоить новые значения
3. С помощью bulk_update более эффективно сохранить изменения
источник

E

Egor in Django [ru] #STAY HOME
Artem Gubatenko
а ты сможешь на голом sql составить запрос на обновление разных записей разными значениями? Я не думаю что это возможно.

Цикл, у тебя, будет по любому, но можно:
1. получить все объекты
2. пройтись по ним циклом и присвоить новые значения
3. С помощью bulk_update более эффективно сохранить изменения
У меня уже получены все объекты, но я из них делаю пандасовский датафрейм (чтобы посчитать некоторые данные) и на выходе получаю дикт айди:значение
источник

E

Egor in Django [ru] #STAY HOME
вот как из этого дикта обратится к объектам которые я уже получил
источник

E

Egor in Django [ru] #STAY HOME
foo = {x.id: x for x in queryset}
потом
[setattr(foo.get(key), ‘some_attr’, value) for key, value in data_dict.items()]
и после .bulk_update(queryset)

это будет быстро?
источник

A

Andrey in Django [ru] #STAY HOME
Egor
foo = {x.id: x for x in queryset}
потом
[setattr(foo.get(key), ‘some_attr’, value) for key, value in data_dict.items()]
и после .bulk_update(queryset)

это будет быстро?
У кверисета есть метод values
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Egor
foo = {x.id: x for x in queryset}
потом
[setattr(foo.get(key), ‘some_attr’, value) for key, value in data_dict.items()]
и после .bulk_update(queryset)

это будет быстро?
примерно так:
my_objects = MyModel.objects.filter(category_id__in=some_dict.keys())
objects_for_save = []
for my_obj in my_objects:
   my_obj.value = some_dict[my_obj.category_id]
   objects_for_save.append(my_obj)
MyModel.objects.bulk_update(objects_for_save, ["value"])
источник

E

Egor in Django [ru] #STAY HOME
Artem Gubatenko
примерно так:
my_objects = MyModel.objects.filter(category_id__in=some_dict.keys())
objects_for_save = []
for my_obj in my_objects:
   my_obj.value = some_dict[my_obj.category_id]
   objects_for_save.append(my_obj)
MyModel.objects.bulk_update(objects_for_save, ["value"])
операция .append() супер медленная для дикта в 30к значений
источник

A

Andrey in Django [ru] #STAY HOME
Egor
операция .append() супер медленная для дикта в 30к значений
Чего вдруг?
Аппенд за О(1) выполняется
источник