[Fixed]-How to input a model instance in a form field

1👍

This is untested code, so consider this a starting point, no real solution:

forms.py

class VisitorForm(forms.ModelForm):
    visitor_company = forms.CharField()

    def clean_visitor_company(self):
        vc = self.cleanded_data['visitor_company']

        try:
            vc_object = Company.objects.get(company_name=vc)
        except Company.DoesNotExist:
            vc_object = Company.objects.create(company_name=vc)

        return vc_object

    class Meta:
        model = Visitor
        fields = "__all__"

views.py

def home(request):
    form = VisitorForm(request.POST or None)

    if form.is_valid():
        form.save()
        return redirect('visitors')

    return render(request, "visitors/home.html", { 'form': form })

Leave a comment