Как сохранить внешний ключ из шаблона django html

Я хочу сохранить данные из поля выбора html шаблона в django.

html пример кода:

<label for="type" style="color:red;">Short Name *</label>

<input type="text" name="short_name" class="form-control" required placeholder="">
                                    <br> <br>
<select style='bakground-color:red' name="category" required class="form-control show-tick">
        <option value="" selected="selected">---------</option>
        {% for cat in category %}
            <option value="{{ cat }}">{{ cat }}</option>
        {% endfor %}
</select>

Код Django:

Views.py
    def addBooks(request):
        template = 'admin_panel/add_books.html'
        category = Category.objects.all()
        
     
        
        book_details = BookDetails.objects.all()
        
        context = {
            "page_title": "Add Book",
            "category": category,
            
            "book_details" :book_details,
            
            }

      if request.method == "POST":
        short_name = request.POST.get('short_name', None) 
        category = request.POST.get('category',None)
       
        book_details = BookDetails.objects.create(short_name=short_name, category=category)

      return render(request, template,context)

models.py

class BookDetails(models.Model):
    id = models.AutoField(primary_key=True)
    short_name = models.CharField(max_length=50, unique=True, db_index=True)
    category = models.ForeignKey(
        Category,
        on_delete=models.CASCADE
    )
    

Появление ошибки: ValueError at /superadmin/add_books/ Невозможно присвоить "'Story'": "BookDetails.category" должен быть экземпляром "Category".

enter image description here

Как решить эту проблему?

В тамбуре option value={{cat.id}}

В поле зрения:

BookDetails.objects.create(short_name=short_name, category_id=category)
Вернуться на верх