UpdateOrСоздать отношения один ко многим - PullRequest
1 голос
/ 15 февраля 2020

ОБНОВЛЕНО

Я пытаюсь применить метод update_or_create к родительской таблице. Потом на детский стол. Но когда метод update_or_create запускается на дочернем объекте, появляется эта ошибка ...

save () запрещен для предотвращения потери данных из-за несохраненного связанного объекта atom_presance.

похоже, что ребенок не знает update_or_create родителя и не может получить иностранный_ключ ситуации.

1 Ответ

1 голос
/ 15 февраля 2020

Я получил ошибку, когда вы update_or_create второй метод в значениях по умолчанию назначить removed_price в качестве словаря, помещенного после первого создания AtomPresance объектов и назначить значение ключа в atom_presance=obj из removed_price словаря

Вы должны передать ссылку на родительскую модель при создании дочерней модели. Замените приведенный ниже код своим кодом

for i, fee in enumerate(fees):
   for j, item in enumerate(fee):
      project_name = {'project_name': item["title"]}

      kind = item["kind"]

      obj, created = AtomPresance.objects.update_or_create(project_name=item["title"], defaults=project_name)

      removed_price = {'removed_price': item[kind], "atom_presance":obj} #here change you need to assign the created obj that we create in above line 

      obj, created = Advertisements.objects.update_or_create(saved_date=date, defaults=removed_price)

, если этот материал работает, примите правильный ответ, поэтому дайте мне знать

...