Django 可以为外键创建下拉列表吗?

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

是否可以为类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__(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