【发布时间】:2015-06-18 20:50:32
【问题描述】:
我有一个带有 AngularJs 和 Django 的单页应用程序。在我的主页上,我获得了加载页面时所需的所有表单。但是,有些字段是动态更新的。
假设我有
class Model1(models.Model):
pass
class Model2(models.Model):
model_1 = models.ForeignKey(Model1)
表格:
class Model2Form(forms.ModelForm):
class Meta:
model = Model2
fields = ('model_1', )
我的 SPA 允许我创建 Model1 的实例(无需重新加载页面)。我知道如何过滤显示的选项并在选择字段中动态添加新实例但是这样做,当第一次呈现 html 时,在发生角度魔术并过滤可用选项之前,我得到了 django 制作的查询集,它是默认情况下 model.objects.all()。好吧,我不想显示这些。我试图在我的函数的 init 中添加:
self.fields['model_1'].queryset = Model1.objects.none()
当第一次呈现表单时,确实没有选项显示在选择字段中,但是,我无法验证我的表单,我收到错误:Select a valid choice. That choice is not one of the available choices.(显然,由于查询集,它没有可用的选项.none() )
我真的不想在调用时加载表单,而是在我的页面第一次加载时加载。有什么办法可以帮助我这样做吗?
干杯,伙计们, 继续摇摆
【问题讨论】:
标签: angularjs django forms dynamicform