Как не сохранять нулевой параметр в таблице, если получен параметр с нулевым полем в Django
У меня есть таблица с некоторыми параметрами следующего вида:
class Education(models.Model):
title = models.CharField(default=None, max_length=100)
content = models.TextField(default=None)
В запросе Django от клиента возможно, что поле content
равно NULL. Поэтому я хочу, чтобы когда параметр content
равен NULL, Django не сохранял его в базе данных, но и не показывал никаких ошибок.
Возможно, в этом поле уже есть данные и в запросе Update клиент просто хочет изменить title
поле.
В вашей форме / сериализатор устанавливает поле content
как необязательное, поэтому если клиент не хочет обновлять это поле, он просто не передает значение.
from django.forms import ModelForm
from .models import Education
class EducationForm(ModelForm):
class Meta:
model = Education
fields = ('title', 'content')
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['content'].required = False
Я нашел его, вот так:
class EducationSerializer(serializers.ModelSerializer):
class Meta:
model = Education
fields = ['title', 'content')
extra_kwargs = {'content': {'required': False}}