Проблемы с сохранением объекта с внешним ключом в Django

Это мой первый вопрос на форуме.

Я новичок в Django и медленно продвигаюсь вперед. Код, над которым я работаю, теперь выбрасывает ошибку при сохранении с объектом в качестве внешней ключевой ссылки.

Вот мои модели:

# models.py 

class Make(models.Model):
    name_text = models.CharField(max_length=100)
    def __str__(self):
       return self.name_text


class Autos(models.Model):
     nickname = models.CharField(max_length=100)
     make = models.ForeignKey(Make, on_delete=CASCADE)
     milage = models.IntegerField(default=0)
     comments = models.CharField(max_length=1000)

HTML форма, которая отправляет данные в представление

<form action="{% url 'auto:addauto' %}" method="post">
    {% csrf_token %}
    <p>
        <label for="nickname">Nickname : </label>
        <input type="text" name="nickname" id="nickname" value="{{ autodetails.nickname }}">
    </p>
    <p>
        <label for="make">Make : </label>
        <select name="make" id="make">
            {% for item in make %}
            <option value="{{ item.name_text }} ">{{ item }}</option>
            {% endfor %}
        </select>
    </p>
    <p>
        <label for="milage">Milage : </label>
        <input type="text" name="milage" id="milage" value="{{ autodetails.milage }}">
    </p>
    <p>
        <label for="comments">Comments : </label>
        <input type="textarea" name="comments" id="comments" value="{{ autodetails.comments }}">
    </p>


    <input type="submit" name = "buttonsubmit" value="Add">
</form>

Посмотрите, где существует проблема:

# views.py 

def addauto(request):

if request.method == 'POST':
    obj = Autos()
    obj.nickname = request.POST['nickname']

    name_text1 = request.POST.get('make')
    make = Make.objects.get(name_text = name_text1)

    obj.make = make

    obj.milage = request.POST['milage']
    obj.comments = request.POST['comments']
    obj.save()

    return redirect('/autos/listautos')

else:
    make = Make.objects.all()
    context = {
        'make': make
    }
    return render(request, 'autos/add_auto.html', context)

Приведенный выше код работает с:

make = Make.objects.filter(name_text = "some value")

Я также попробовал следующий код, но безуспешно:

name_text1 = request.POST.get('make')
make = Make.objects.filter(name_text = name_text1)
obj.make = make

Для objects.get() вот трассировка ошибки:

internal Server Error: /autos/addauto
Traceback (most recent call last):
  File "/home/harsha/Projects/django3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/home/harsha/Projects/django3/lib/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/harsha/Projects/django-projects/mysite/autos/views.py", line 22, in addauto
    make = Make.objects.get(name_text = name_text1)
  File "/home/harsha/Projects/django3/lib/python3.8/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/home/harsha/Projects/django3/lib/python3.8/site-packages/django/db/models/query.py", line 435, in get
    raise self.model.DoesNotExist(
autos.models.Make.DoesNotExist: Make matching query does not exist.

Я попробовал все, что мог придумать, основываясь на моих текущих знаниях - похоже, я не вижу проблемы. Любая помощь будет оценена по достоинству.

Я смог решить проблему, и ниже приведено мое исправление.

I was passing "item.name_text" instead of "item.id" for the "value" of the dropdown

<p>
  <label for="make">Make : </label>
  <select name="make" id="make">
    {% for item in make %}
    **<option value="{{ item.id }} ">{{ item }}</option>**
    {% endfor %}
  </select>
</p>

Обновленный вид с ниже

make = Make.objects.get(pk = request.POST.get('make'))
obj.make = make
Вернуться на верх