JustPaste.it

#define tu modelo

#este sera nuestro select(dropdown)

class Medida(models.Model):
    nombre=models.CharField(max_length=100)
    descripcion=models.CharField(max_length=100)
    def __str__(self):
      return self.nombre

#se define __str__(self): para que retorne el nombre de mi modelo en este caso el nombre de la medida

#ahora como hago un select asi:

#este es nuestro form que armara tu select

class ProductoForm(forms.ModelForm):
class Meta:
model = Producto
fields =[
'nombre',
'descripcion',
'precio',
'cantidad',
'medida',

]
labels = {
'nombre':'Nombre',
'descripcion':'Descripción',
'precio':'Precio',
'cantidad':'Cantidad',
'medida':'Medida',

}
widgets = {
'nombre':forms.TextInput(attrs={"class":"form-control"}),
'descripcion':forms.TextInput(attrs={"class":"form-control"}),
'precio': forms.TextInput(attrs={"class": "form-control"}),
'cantidad':forms.TextInput(attrs={"class":"form-control"}),
'medida':forms.Select(attrs={"class":"form-control"}),

}

#en tu template

#puedes especificar mostrar solo el select o campo que desees de tu forms.py

{{ form.medida }}

#o mostrar todo el formulario:

{{ form.as_p }}