Ошибка отправки формы в Django - django.db.utils.IntegrityError: NOT NULL constraint failed: account_deal.company_id

Я работаю над формой, которая принимает значение из другой модели, и все загружается правильно, но когда я отправляю данные, форма выдает следующую ошибку:

django.db.utils.IntegrityError: NOT NULL constraint failed: account_deal.company_id

По общему мнению, вы должны добавить blank=True, null=True, но это предотвращает ошибку, только если пользователь не вводит никаких данных, в данном случае я использую автоматически генерируемую дату, поэтому не уверен, почему я получаю эту ошибку.

views.py

def close_lead(request):
    if request.method == 'POST':

        deal_form = DealForm(request.POST)

        if deal_form.is_valid():
            deal_form.save()
            messages.success(request, 'You have successfully updated the status from open to Close')
            id = request.GET.get('project_id', '')
            obj = Leads.objects.get(project_id=id)
            obj.status = "Closed"
            obj.save(update_fields=['status'])

            return HttpResponseRedirect(reverse('dashboard'))
        else:

            messages.error(request, 'Error updating your Form')
    else:

        id = request.GET.get('project_id', '')
        obj = get_object_or_404(Leads, project_id=id)

        m = obj.__dict__
        keys = Leads.objects.get(project_id=m['project_id'])

        form_dict = {'project_id':keys.project_id,
                     'agent':keys.agent,
                     'client':keys.point_of_contact,
                     'company':keys.company,
                     'service':keys.services
                     }
        form = NewDealForm(request.POST or None,initial = form_dict)


    return render(request,
                  "account/close_lead.html",
                  {'form':form})

models.py

Наконец, форма:

from .models import Profile, Client, Company, Leads, CallReport, Deal
from django import forms
from django.contrib.auth.models import User
from django.contrib.admin.widgets import AdminDateWidget
from django.forms.fields import DateField


class DateInput(forms.DateInput):
    input_type = 'date'

class UserEditForm(forms.ModelForm):
    class Meta:
        model = User
        fields = ('first_name', 'last_name', 'email')

class ProfileEditForm(forms.ModelForm):
    class Meta:
        model = Profile
        fields = ('role', 'photo', 'location')

class ClientForm(forms.ModelForm):
    class Meta:
        model = Client
        fields = ('firstname', 'lastname',"position",'company','country','email','phone')


class CompanyForm(forms.ModelForm):
    class Meta:
        model = Company
        fields = ('company',)

class LeadsForm(forms.ModelForm):
    class Meta:
        model = Leads
        fields = ('project_id','company','agent','point_of_contact','services','expected_licenses',
                  'expected_revenue','country', 'status', 'estimated_closing_date'
                  )
        widgets = {'estimated_closing_date': DateInput()}

class CallForm(forms.ModelForm):
    class Meta:
        model = CallReport
        fields = ('company','title','location', 'ACTeQ_representative','client_POC','minutes_of_meeting','date')
        widgets = {'date':DateInput()}


class DealForm(forms.ModelForm):
    class Meta:
        model = Deal
        fields = ['agent','project_id','service','client', 'licenses','revenue', 'comments']

class EditLeadsForm(forms.ModelForm):
    class Meta:
        model = Leads
        fields = ('project_id','company','agent','point_of_contact','expected_revenue',
                  'expected_licenses','country', 'status', 'estimated_closing_date',
                  'services')
        widgets = {'date': DateInput()}

class NewDealForm(forms.ModelForm):
    class Meta:
        model = Deal
        fields = ['project_id','agent','client','company','service', 'licenses','revenue', 'comments']

Я уже удалил базу данных и запустил миграции, а ошибка сохраняется.

Вернуться на верх