LINUX.ORG.RU

История изменений

Исправление provaton, (текущая версия) :

Как правильно решается эта проблема?

Можно сделать два вложенных цикла - первый по объектам Music, второй (подцикл) по Recording, ссылающихся на данный Music.

Что-то типа такого:

for i in Music.objects.all():
   for j in i.recording_set.all():
      if condition(j, i):
          i.recording_set.all().update(music_id=new_music_id)
          i.delete()
          break

Исходная версия provaton, :

Как правильно решается эта проблема?

Можно сделать два вложенных цикла - первый по объектам Music, второй (подцикл) по Recording, ссылающихся на данный Music.

Что-то типа такого:

for i in Music.objects.all(): for j in i.recording_set.all(): if condition(j, i): i.recording_set.all().update(music_id=new_music_id) i.delete() break