Select2

  1. Install the django_select2 package by running the following command:

pip install django_select2

models.py

class Warehouse(models.Model):
    name = models.CharField(max_length=100)
    location = models.CharField(max_length=100)
    # Add any other fields for the Warehouse model

    def __str__(self):
        return self.name

class Item(models.Model):
    name = models.CharField(max_length=100)
    description = models.TextField()
    quantity = models.PositiveIntegerField()
    warehouse = models.ForeignKey(Warehouse, on_delete=models.CASCADE,default=1)
    unit = models.ForeignKey(Unit, on_delete=models.SET_DEFAULT, default=1)
    price = models.DecimalField(max_digits=10, decimal_places=2, default=0)
  1. Import the necessary modules in your forms.py file:

from django import forms
from django_select2.forms import Select2Widget
from .models import Item, Warehouse # my model 

class ItemForm(forms.ModelForm):
    warehouse = forms.ModelChoiceField(
        queryset=Warehouse.objects.all(),
        widget=Select2Widget(attrs={'class': 'select2'})
    )

myhtml template

Last updated