При десериализации поля внешнего ключа, допускающего обнуляемость.Получение ошибки:
У объекта 'NoneType' нет атрибута 'foreign_field'
Эта проблема не возникала до версии Django-Rest-Framework: 3.6.4
Найдена причина проблемы (Удалено Нет проверки и Проверка ObjectDoesNotExist не обрабатывает экземпляр None): Ссылка
Почему убрана эта проверка?
Есть ли обходной путь, который может обработать поле внешнего ключа Nullable?
Пробовал следующие вещи :
- Попытка установки значения по умолчанию: не сработало
- Запись метода сериализатора невозможна (множество изменений в существующем коде).
Редактировать:
Структура модели:
class Demo(models.Model):
name = models.CharField(max_length=100)
class Demo1(models.Model):
demo = models.ForeignKey(Demo, default=None, blank=True, null=True, on_delete=models.CASCADE)
Сериализатор:
class Demo1(ModelSerializer):
demo = CharField(source='demo.name')
class Meta:
model=models.Demo1
fields = ('id', 'demo')