Django 可以为外键创建下拉列表吗?
是否可以为类Task()开发人员字段创建下拉列表,该字段是foreignkey?那么,创造它的最佳方式是什么 开发者模型.py 从django.db导入模型Django 可以为外键创建下拉列表吗?,django,Django,是否可以为类Task()开发人员字段创建下拉列表,该字段是foreignkey?那么,创造它的最佳方式是什么 开发者模型.py 从django.db导入模型 class Developer(models.Model): name = models.CharField(max_length=21, null=False, blank=False) created = models.DateTimeField(auto_now_add=True) def __unicode
class Developer(models.Model):
name = models.CharField(max_length=21, null=False, blank=False)
created = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return str(self.name)
models.py
from django.db import models
from developers.models import Developer
class Task(models.Model):
story = models.ForeignKey(Story)
developer = models.ForeignKey(Developer)
description = models.CharField(max_length=360)
iteration = models.IntegerField()
created = models.DateTimeField(auto_now_add=True, auto_now=False)
forms.py
class AddTask(forms.ModelForm):
story = forms.ForeignKey(Story)
developer = forms.ForeignKey(Developer)
description = forms.CharField(max_length=360)
iteration = forms.IntegerField()
class Meta:
fields = ["name", "developer", "description", "iteration"]
model = Task
如果为您的
开发人员模型创建模型表单
,则每个外键都呈现为模型选择字段
。该字段的小部件是您要查找的html选择
from django.forms import ModelForm
class DeveloperForm(ModelForm):
class Meta:
model Developer
看一看,更好地掌握它。我解决了它
我只需要使用forms.ModelChoiceField()
这不是真正的forms.py,因为没有forms.ForeignKey
。在任何情况下,外键的下拉列表都是模型表单的默认行为。
class AddTaskForm(forms.ModelForm):
story = forms.ModelChoiceField(Story.objects.all())
developer = forms.ModelChoiceField(Developer.objects.all())
description = forms.CharField(max_length=360)
iteration = forms.IntegerField()
class Meta:
fields = ["story", "developer", "description", "iteration"]
model = Task