Как пропустить создание модели в форме? django
это модель с телефонами
models
class Clients(models.Model):
phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$', message="Phone format: '+999999999'")
phone = models.CharField(validators=[phone_regex], unique=True, max_length=17)
есть форма
forms
class RelatedAddForm(forms.ModelForm):
phone = PhoneInputField()
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
super(RelatedAddForm, self).__init__(*args, **kwargs)
self.fields['phone'].choices = Clients.objects.order_by('-phone').values_list('phone')
self.fields['phone'].label = 'Телефон'
class Meta:
model = Clients
fields = ['phone']
widgets = {
}
При сохранении, надо, если человек указал поле телефона пустым, просто не создавать эту модель. Как это сделать? Пробовал через clean, не получилось. Я так понимаю проблема в RegexValidator?
на сайте несколько форм подряд идут из разных приложений и если эта форма пустая просто как бы пропускать ее, а не стопорить другие формы
В классе Clients(или том, который вам нужен) можно попробовать переопределить метод save() при условии
if self.phone
def save (*args, **kwargs):
В теле вызываете метод super Должно помочь, я просто не могу оставлять комментарии(