Я пытаюсь сделать в шаблоне список выбора с объектами из базы данных.Я понял, что могу использовать виджет form.select и установить выбор объектов из базы данных, но вместо этого вручную я хотел бы сделать это с помощью цикла for?
forms.py
''' из django.forms import ModelForm из django формы импорта из .models import Ship
class ShipForm(ModelForm):
class Meta:
model = Ship
fields = ['name','rolls','rolls_del']
all_instance = Ship.objects.all()
INSTANCE_CHOICES = (('1111','1111'),('333','333'),
('11','11'))
widgets = {'name':forms.Select(choices=INSTANCE_CHOICES)}
'' '
и здесь, в INSTANCE_CHOICES, я хотел бы иметь некоторые для цикла или, возможно, некоторыеметод для автоматического заполнения
models.py
'' 'из django.db Импорт моделей из django.forms import ModelForm
class Ship(models.Model):
name = models.CharField(max_length = 20)
rolls = models.IntegerField(null = True)
rolls_del = models.IntegerField(default=0)
total = models.IntegerField(default=0)
def __str__(self):
return self.name
' '' views.py
'' '
def data(request):
ships = Ship.objects.all().order_by('name')
for x in ships:
x.total = x.rolls - x.rolls_del
cont = {'ships':ships}
return render(request,'data.html', context=cont)
' ''