Size: a a a

Django [ru] #STAY HOME

2018 December 26

A

Aquinary in Django [ru] #STAY HOME
Как-то не очень по себе, когда в модели оказывается что-то ещё, кроме объявления полей для БД, связей и т.д)
источник

A

Aquinary in Django [ru] #STAY HOME
В этом весь вопрос
источник

PB

Petr B. in Django [ru] #STAY HOME
Aquinary
Как-то не очень по себе, когда в модели оказывается что-то ещё, кроме объявления полей для БД, связей и т.д)
Ну вынеси моделменеджер в другой файл
источник

p

pavel in Django [ru] #STAY HOME
def get_queryset(self):
   queryset = TestModel.objects.all()
   for item in queryset.values('test_field_1', 'test_field_2'):
       if item['test_field_1'] != 5:
           item['test_field_1'] = 5
           item['test_field_2'] *= 5
   return queryset

Подскажите когда так делаю, то даннные в кверисете не изменяются
источник

PB

Petr B. in Django [ru] #STAY HOME
Aquinary
Как-то не очень по себе, когда в модели оказывается что-то ещё, кроме объявления полей для БД, связей и т.д)
Потом офигеешь импортить в каждом месте свои get_filtered_users(queryset) и подобное
источник

PB

Petr B. in Django [ru] #STAY HOME
pavel
def get_queryset(self):
   queryset = TestModel.objects.all()
   for item in queryset.values('test_field_1', 'test_field_2'):
       if item['test_field_1'] != 5:
           item['test_field_1'] = 5
           item['test_field_2'] *= 5
   return queryset

Подскажите когда так делаю, то даннные в кверисете не изменяются
А сохранить?
источник

p

pavel in Django [ru] #STAY HOME
Petr B.
А сохранить?
в квересете?
источник

p

pavel in Django [ru] #STAY HOME
как всмысле?
источник

PB

Petr B. in Django [ru] #STAY HOME
pavel
как всмысле?
А чего ты хочешь достичь вообще?
источник

p

pavel in Django [ru] #STAY HOME
сделать выборку извенить данные перед выводом
источник

PB

Petr B. in Django [ru] #STAY HOME
pavel
сделать выборку извенить данные перед выводом
Выкини .all() и сразу .values() пиши.
источник

PB

Petr B. in Django [ru] #STAY HOME
Емнип когда ты итерируешься по queryset.values(), результат не кешируется в queryset
источник

PB

Petr B. in Django [ru] #STAY HOME
Точно то же самое - если сделаешь сначала print(queryset) и затем по нему будешь итерироваться
источник

p

pavel in Django [ru] #STAY HOME
Petr B.
Выкини .all() и сразу .values() пиши.
но мне надо все поля, только два поменять перед выводом
источник

PB

Petr B. in Django [ru] #STAY HOME
pavel
но мне надо все поля, только два поменять перед выводом
Не сохраняя в базу?
источник

p

pavel in Django [ru] #STAY HOME
не сохраняя
источник

PB

Petr B. in Django [ru] #STAY HOME
Тогда итерируешься по кверисету просто
источник

p

pavel in Django [ru] #STAY HOME
хм
источник

PB

Petr B. in Django [ru] #STAY HOME
Рекомендую ещё .iterator() использовать
источник

p

pavel in Django [ru] #STAY HOME
Petr B.
Рекомендую ещё .iterator() использовать
а пример можно? если не сложно?
источник