Необходимо сохранить ModelChoiceField в базу данных с помощью Django forms и Template

Здесь я использую Django 3.0 и Python 3.7

Я не могу сохранить ModelChoiceField в базу данных

Вот мой models.py

class ProductionProcess(models.Model):
    client = models.ForeignKey(Client,on_delete=models.CASCADE)
    name = models.CharField(max_length=500)
    order = models.IntegerField(default=None, null=True, blank=True)
    milestone_1 = models.CharField(max_length=200, blank=True, null=True)
    def __str__(self):
        return self.name

Вот мой views.py

class ProductionProcessAddCreateView(CreateView):
    template_name = 'core/production_process_form_1.django.html'
    form_class = ProductionProcessForm
    context_object_name = "production"
    model = ProductionProcess
  
    def form_valid(self, form):
        self.object = form.save(commit=False)
        self.object.client = self.request.user.client

        try:
            self.object.save()
            messages.success(self.request, 'Production Process created successfully.')
        except BaseException as e:
            logger.exception(e)
            messages.error(self.request, 'Failed to create a Production Process.')
        return HttpResponseRedirect(reverse("production_process"))

Вот мой forms.py

class ProductionProcessForm(forms.ModelForm):
    
    milestone_1 = forms.ModelChoiceField(queryset=ProductionProcess.objects.values_list("name", flat=True).distinct(),empty_label=None)
    class Meta:
        model = ProductionProcess
        fields = ['name','order','milestone_1']
        exclude = ['client']

Вот мой production_process_form_1.django.html

<form class="form-horizontal" method="post">
        {% csrf_token %}
        <div class="row">
            <div class="span10 offset1">
                
                <div class="control-group">
                    <label class="control-label pull-left" for="{{ form.name.auto_id }}">{{ form.name.label }}</label>
                    <div class="controls">
                        {{ form.name}}
                    </div>
                </div>
                <div class="control-group">
                    <label class="control-label pull-left" for="{{ form.order.auto_id }}">{{ form.order.label }}</label>
                    <div class="controls">
                        {{ form.order}}
                    </div>
                </div>
                <div class="control-group">
                    <label class="control-label pull-left" for="{{ form.milestone_1.auto_id }}">{{ form.milestone_1.label }}</label>
                    <div class="controls">
                        
                        <select id="id_milestone" name="milestone_1">
                            <option value="" selected="selected">---------</option>
                            {% for cat in form.milestone_1 %}
                            <option>{{cat}}</option>
                            {% endfor %}
                        </select>

                    </div>
                </div>
            </div>
        </div>
        <div id="form-buttons-container" class="form-actions">
            <input type="submit" class="btn btn-inverse" value="Save">
            <a class="btn btn-default" href="{% url "production_process" %}">Cancel</a>

        </div>
    </form>

Здесь в моей форме для поля milestone_1 я отображаю значения поля name и когда я нажимаю кнопку сохранения, форма не сохраняется

Пожалуйста, помогите мне решить эту проблему

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