【发布时间】:2014-04-20 14:13:30
【问题描述】:
全部,
我是否有一种直接的方法来显示一个使用模型选择字段的表单来显示尚未保存的模型?
class Foo(models.Model):
name = models.CharField(max_length=42)
class Bar(models.Model):
name = models.CharField(max_length=42)
foo = models.ForeignKey("Foo",blank=True,null=True)
class BarForm(ModelForm):
class Meta:
model = Bar
pass
def create_new_bar(request):
foos = [Foo(name='foo1'), Foo(name='foo2'), Foo(name='foo3')]
bar = Bar(name='bar',foo=foos[0])
form = BarForm(instance=bar)
return render_to_response('bar_template.html',{"form" : form},context_instance=RequestContext(request))
但是在表单中呈现的“选择”小部件的内容为空。据推测,这是因为对于 Bar 的 ForeignKey to Foo 使用的 ModelChoiceField,没有任何东西可以绑定查询集。 (由于“foos”中没有任何内容被保存,因此在数据库中不存在)。
除了编写自定义表单域/小部件之外,还有其他方法可以解决这个问题吗?
谢谢。
【问题讨论】:
标签: python django django-forms modelform