Я новичок в Django, и мне не удалось найти исправление для этого. Я пытаюсь заполнить раскрывающийся список значениями базы данных.
Вот мои файлы
models.py file
from django.db import models
# Create your models here.
class Page(models.Model):
title = models.CharField(max_length=60)
permalink = models.CharField(max_length=12, unique=True)
update_date = models.DateTimeField('Last Updated')
bodytext = models.TextField('Page Content', blank=True)
def __str__(self):
return self.title
class Item(models.Model):
itemId = models.AutoField(primary_key=True)
itemName = models.CharField(max_length = 100, unique=True)
itemPrice = models.IntegerField()
def __str__(self):
return self.itemName
forms.py file
from django import forms
from .models import Item
class OrderListForm(forms.Form):
itemNames = forms.queryset = Item.objects.all().order_by('itemName')
файл urls.py
from django.urls import path
from . import views
urlpatterns =[
path('',views.OrderListView.as_view(),name ='hello'),
]
файл views.py
from django.views.generic.edit import FormView
from .forms import OrderListForm
# Create your views here.
class OrderListView(FormView):
template_name = "myapp/orderlist.html"
form_class = OrderListForm
context_object_name = 'itemNames'
список заказов. html файл
<form action="" method = "post">
{% csrf_token %}
<label for="Items">Choose an Item:</label>
<select id = items >
{% for item in itemNames %}
<option value = "">{{item.itemName}}</option>
{% endfor %}
</form>