При сохранении в модель django через dict, который имеет ключ и значение {...,'type': None,...}
поле модели равно type = models.CharField(max_length=3, choices=Type.CHOICES, default=Type.EITHER)
Однако при попытке сохранить я получаю сообщение об ошибке: django.db.utils.IntegrityError: null value in column "type" violates not-null constraint
Разве ORM в django не пытается использовать значение по умолчанию, если None
указано непосредственно?Как лучше всего это обрабатывать?
Обновление, более подробная информация о сохранении.
В модели нет настраиваемого метода сохранения.
В представлении это сохраняется с помощью
views.py
...
account = Account()
account_data = {}
...
preferences = ['type', 'payment_method_preference', ...]
account_fields = preferences + other_fields
for key in account_fields:
account_data[key] = request.session['supply_address'].get(key)
keys_to_attr(account_data, account)
account.address = address
account.payment = direct_debit
account.save()