Как установить экземпляры класса в выпадающий список в формах виджетов. Выберите - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь сделать в шаблоне список выбора с объектами из базы данных.Я понял, что могу использовать виджет 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)

' ''

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...