Добавить атрибут модели в экземпляр, если у него его нет - PullRequest
0 голосов
/ 02 июля 2018

Я недавно добавил опциональную опцию Модель затрат в Оценку создания (финансы). Теперь, когда я пытаюсь редактировать оператор, операторы, созданные после необязательного обновления затрат, обновляются успешно. но предыдущие операторы, у которых нет необязательного атрибута модели затрат, не обновляются.

это то, что я пробовал

if hasattr(instance,"optional_amount"):
  optional_estimate_amounts = optional_estimate_amounts_formset.save(commit=False)
  for f in optional_estimate_amounts:
    f.estimate = instance
    f.save()
  for obj in optional_estimate_amounts_formset.deleted_objects:
    obj.delete()
else:
  for optional_estimate_amounts in optional_estimate_amounts_formset:
    optional_amount_description = optional_estimate_amounts[
      'optional_amount_description']
    optional_amount = optional_estimate_amounts['optional_amount']
    OptionalEstimateAmounts(
      estimate=data,
      optional_amount_description=optional_amount_description,
      optional_amount=optional_amount
    ).save()

в настоящее время выдает ошибку типа. Мне интересно, как создать новый необязательный атрибут модели суммы для существующего экземпляра оценки, если он отсутствует при попытке изменить оценку?

1 Ответ

0 голосов
/ 03 июля 2018

NeverMind, setAttr () - это то, что я искал. если hasAttr () возвращает false, используйте setAttr для добавления этого атрибута

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...