Size: a a a

Django [ru] #STAY HOME

2020 October 11

DB

Dima Boger in Django [ru] #STAY HOME
Ты же сам буквально отвечаешь на вопрос)
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Ильяс Хакиев
продолжаем эпопею ))) в итоге отправляю ajax-запрос и обрабатываю его так
def create_sysrel(request):
   if request.method == "POST":
       result = []
       data = json.loads(request.body)
       system = data['system']
       system_id = system_models.System.objects.get(id=system)
       table = system_models.SystemResourcesRelation()

       for item in data['key']:
           item = hardware_models.Hardware.objects.get(id=item)
           table.system = system_id
           table.hardware = item
           table.save()

           result.append(str(item.pk) + ' was saved')

       return JsonResponse(json.dumps(result), safe=False, status=200, content_type='application/json')

когда бежит по циклу: в первый раз сохраняет объект, на следующих итерациях берет объект сохраненный в первый раз и обновляет hardware.
как джанге дать понять, что в итерации нужно создавать новый объект, а не делать update?
В цикле делать запросы к бд - плохая идея
источник

ИХ

Ильяс Хакиев... in Django [ru] #STAY HOME
Nikolay Cherniy
В цикле делать запросы к бд - плохая идея
а как получить объект из списка с id, чтобы потом их можно было сохранить как foreing key в другой модели?  при save() просит объект.
источник

ИХ

Ильяс Хакиев... in Django [ru] #STAY HOME
башка уже не работает, всю неделю работал по 12 часов. а еще 1,5 мес так 😬
источник

DB

Dima Boger in Django [ru] #STAY HOME
использовать вместо save() bulk_create
источник

DB

Dima Boger in Django [ru] #STAY HOME
но это всё улучшения, на логику кода оно не повлияет, только на быстродействие,  можно отложить на потом
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Ильяс Хакиев
а как получить объект из списка с id, чтобы потом их можно было сохранить как foreing key в другой модели?  при save() просит объект.
В цикле делаешь фильтрацию в Q объекте, делать список и булк криэйт его
источник

ИХ

Ильяс Хакиев... in Django [ru] #STAY HOME
Nikolay Cherniy
В цикле делаешь фильтрацию в Q объекте, делать список и булк криэйт его
спасибо, почитаю 👍
источник

АК

Антон Кочневский... in Django [ru] #STAY HOME
Ребят, как можно добавить сразу несколько Permission в группу? И избежать вот этого:
источник

АК

Антон Кочневский... in Django [ru] #STAY HOME
Антон Кочневский
Ребят, как можно добавить сразу несколько Permission в группу? И избежать вот этого:
Это работает, но выглядит как говно)
источник

АК

Антон Кочневский... in Django [ru] #STAY HOME
Попробовал вот так
источник

S

Saydi in Django [ru] #STAY HOME
Антон Кочневский
Попробовал вот так
.set вместо .add
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Saydi
.set вместо .add
Зачем?
источник

АК

Антон Кочневский... in Django [ru] #STAY HOME
Антон Кочневский
Попробовал вот так
Короче так не работает) Даже не запускается
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Антон Кочневский
Попробовал вот так
Можно же список добавлять, а не по одному
источник

S

Saydi in Django [ru] #STAY HOME
Nikolay Cherniy
Зачем?
Ну он вроде пытается добавить несколько пермов?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Saydi
Ну он вроде пытается добавить несколько пермов?
Set устанавливает, add добавляет
источник

АК

Антон Кочневский... in Django [ru] #STAY HOME
Это полюбому можно как то сделать через классы, мне кажется, но я пока не нашел как.
источник

S

Saydi in Django [ru] #STAY HOME
Nikolay Cherniy
Set устанавливает, add добавляет
Ну так что такого? Вряд ли ему нужно именно добавить
источник

S

Saydi in Django [ru] #STAY HOME
А хотя вопрос был именно про добавление)
источник