我试图在django中创建一个todo应用程序,但我无法获得下拉列表来设置类别填充。
这是当我渲染所有内容时窗体的样子:
我所期望的是,下拉菜单将有选项'个人'和'专业'
这是我的模型:
from django.db import models
class Category(models.Model):
CATEGORY = (('Personal', 'Personal'), ('Professional', 'Professional'))
type = models.CharField(max_length=100, null=True, choices=CATEGORY)
def __str__(self):
return self.type
class Item(models.Model):
created_at = models.DateTimeField(auto_now=True)
task = models.CharField(max_length=200)
completed = models.BooleanField(default=False)
category = models.ForeignKey(
Category, on_delete=models.SET_NULL, null=True)
def __str__(self):
return (f"{self.created_at}: {self.task}")
这是我尝试使用的形式:
from .models import Item
from django import forms
class AddItem(forms.ModelForm):
class Meta:
model = Item
fields = ['task', 'category']
这是模板:
<div>
<h1>Your todo task</h1>
<br>
<form method="POST" action="{% url 'home' %}">
{% csrf_token %}
{{ form }}
<button type="submit" class="btn btn-secondary">Add a task</button>
</form>
</div>
感谢您的时间和您提供的任何信息。
1条答案
按热度按时间zxlwwiss1#
这个video(时间戳)回答了我的问题。
最后,我认为对列表使用元组不是正确的调用,特别是这部分:
最好是它是一个字符字段,然后通过管理面板添加类别。