Ваше предложение для пользовательского поля GenericIPAddressField
, вероятно, является наиболее СУХИМЫМ решением.Предложение Аконсу в комментариях выше, чтобы переопределить метод сохранения, является хорошим.Быстрый взлом, который я использовал, - очистить значение до None
в форме модели.
class MyModelForm(forms.ModelForm):
class Meta:
model = MyModel
def clean_ipv6_address(self):
"""
Return None instead of empty string
"""
return self.cleaned_data.get('ipv6_address') or None
Если вы редактируете модель через администратор django, используйте там форму вашей модели
#!admin.py
class MyModelAdmin(admin.ModelAdmin):
form = MyModelForm
admin.site.register(MyModel, MyModelAdmin)