Django-基于父实例的内联字段值
我正在尝试根据父窗体/实例的属性设置内联上的选项字段的默认值 在伪代码中,它看起来像:Django-基于父实例的内联字段值,django,django-forms,django-admin,Django,Django Forms,Django Admin,我正在尝试根据父窗体/实例的属性设置内联上的选项字段的默认值 在伪代码中,它看起来像: def get_form(self, ***): if self.parent.instance && self.parent.instance.field_x == "y": self.field_name.choices = ... 我在Google上搜索过,但似乎找不到任何关于从内联表单中引用父表单的内容 也许我必须以另一种方式来执行此操作,并从父级内部访问内联线 d
def get_form(self, ***):
if self.parent.instance && self.parent.instance.field_x == "y":
self.field_name.choices = ...
我在Google上搜索过,但似乎找不到任何关于从内联表单中引用父表单的内容
也许我必须以另一种方式来执行此操作,并从父级内部访问内联线
def get_form(self, ***):
if self.instance:
for inline in self.inlines:
if instanceof(inline, MyInline):
inline.field_name.choices = ...
上述任何一种方法都是可能的吗?您可以使用get\u form\u kwargs方法,并像这样将选择传递到form init方法中
class Form(forms.Form):
def __init__(self, *args, **kwargs):
choices = kwargs.pop('choices', None)
super(Form, self).__init__(*args, **kwargs)
form.field.choices = choices
class FormView(generic.FormView):
def get_form_kwargs(self, *args, **kwargs)
kwargs = super(FormView, self).get_form_kwargs()
kwargs['choices'] = choices
return kwargs
您可以在get\u form\u kwargs方法中执行父对象检查,然后传入另一个选项(我想)您尝试过这个吗?我经常这样做。使用构造形式而不是获取形式。