Django inlineformset_工厂如何正确覆盖uuu init_uu函数

Django inlineformset_工厂如何正确覆盖uuu init_uu函数,django,django-forms,inline-formset,Django,Django Forms,Inline Formset,各位!! 我试图将一个值传递给init函数,并用另一个模型的数据填充其中一个字段。 我对值进行了硬编码,以便在字段中获得正确的数据 我想知道,如何将初始值传递给init函数? 我找到了很多解决方案,但它们对我不起作用 我已尝试将主键传递到初始func: forms.py class ObservationPartsForm(forms.ModelForm): 定义初始化(self,pk=None,*args,**kwargs): 超级(观察部件窗体,自我)。\uuuuu初始值(*args,**k

各位!! 我试图将一个值传递给init函数,并用另一个模型的数据填充其中一个字段。 我对值进行了硬编码,以便在字段中获得正确的数据

我想知道,如何将初始值传递给init函数? 我找到了很多解决方案,但它们对我不起作用

我已尝试将主键传递到初始func:

forms.py
class ObservationPartsForm(forms.ModelForm):
定义初始化(self,pk=None,*args,**kwargs):
超级(观察部件窗体,自我)。\uuuuu初始值(*args,**kwargs)
primary=kwargs.get('pk')
打印('Get pk',primary)#Get pk None
instance=kwargs.get(“实例”)
meteostation=meteostation.objects.get(id=pk)
如果实例==无:
meteoparam=forms.ModelChoiceField(
queryset=meteostation.meteo_Parameters.select_related().filter(is_active=True),
标签='Мааааааааа,
)
self.fields['meteoparam']=meteoparam
其他:
所选值=表单.选择字段(标签='
self.fields['value\u selected']=value\u selected
#打印(实例)
类Meta():
模型=观察部分
字段=('meteoparam',
“数字值”,
“选择值”,
"作者",,
"谁(更新))
ObservationEntireFormset=inlineformset_工厂(ObservationEntire,ObservationParts,
形式=观测部分形式,额外=1,
)
views.py
class ObservePartsCreateView(CreateView):
模板名称='dairy/test.html'
模型=观察部分
#表格\类别=观察零件表格
成功消息='
formset=None
def get_表单(自身,表单类=无,**kwargs):
pk=self.kwargs.get(“pk”)
打印(主键)
形式=观察零件形式(pk=pk_u2;)
报税表
def get_首字母(自身,**kwargs):
initial=super(ObservePartsCreateView,self).get_initial()
初始['value_selected']=ObserveDate.objects.all()
返回首字母
def get(自我、请求、*args、**kwargs):
pk=kwargs.get(“pk”)
observe_entill=ObservationEntire.objects.get(pk=pk_41;
self.formset=ObservationEntireFormset(实例=observate\u整)
return super(ObservePartsCreateView,self).get(请求,*args,**kwargs)
def获取上下文数据(自身,**kwargs):
context=super(ObservePartsCreateView,self)。获取上下文数据(**kwargs)
上下文['formset']=self.formset
返回上下文
def post(自我、请求、*args、**kwargs):
pk=self.kwargs.get(“pk”)
observe_entill=ObservationEntire.objects.get(pk=pk_41;
self.formset=ObservationEntireFormset(request.POST,instance=observate\u-total)
如果self.formset.is_有效():
self.formset.save()
返回重定向('test',pk=observed_thill.id)
其他:
return super(ObservePartsCreateView,self).get(请求,*args,**kwargs)
def get_form_kwargs(自我,**kwargs):
pk=self.kwargs.get(“pk”)
kwargs=super(ObservePartsCreateView,self).get_form_kwargs()
kwargs['primary']=pk_
返回kwargs
当我将任何值传递到init函数时,我遇到了一个错误:

异常值:
“ObservationPartsForm”对象没有属性“名称”

如果我试图传递值,像这样进行回溯

ObservationEntireFormset=inlineformset\u工厂(ObservationEntire,ObservationParts,form=ObservationPartsForm(pk=1),extra=1,)
回溯:

线程django主线程中的异常: 回溯(最近一次呼叫最后一次): 文件“/usr/lib/python3.6/threading.py”,第916行,在内部引导中 self.run() 文件“/usr/lib/python3.6/threading.py”,第864行,运行中 自我目标(*自我参数,**自我参数) 文件“/home/wess/Documents/Work/Green/VPS/env_Green/lib/python3.6/site packages/django/utils/autoreload.py”,第54行,在包装器中 fn(*args,**kwargs) 文件“/home/wess/Documents/Work/Green/VPS/env_Green/lib/python3.6/site packages/django/core/management/commands/runserver.py”,第117行,在内部运行 self.check(display\u num\u errors=True) 文件“/home/wess/Documents/Work/Green/VPS/env_Green/lib/python3.6/site packages/django/core/management/base.py”,第390行,选中 包括部署检查=包括部署检查, 文件“/home/wess/Documents/Work/Green/VPS/env_Green/lib/python3.6/site packages/django/core/management/base.py”,第377行,在运行检查中 返回检查。运行检查(**kwargs) 文件“/home/wess/Documents/Work/Green/VPS/env_Green/lib/python3.6/site packages/django/core/checks/registry.py”,第72行,运行检查 新建错误=检查(应用程序配置=应用程序配置) 文件“/home/wess/Documents/Work/Green/VPS/env_Green/lib/python3.6/site packages/django/core/checks/url.py”,第13行,在check_url_配置中 返回检查\u分解器(分解器) 文件“/home/wess/Documents/Work/Green/VPS/env_Green/lib/python3.6/site packages/django/core/checks/url.py”,第23行,在check_解析器中 返回检查方法() 文件“/home/wess/Documents/Work/Green/VPS/env_Green/lib/python3.6/site packages/django/url/resolvers.py”,第398行,选中 对于self.url_模式中的模式: 文件“/home/wess/Documents/Work/Green/VPS/env_Green/lib/python3.6/site packages/django/utils/functional.py”,第80行,在__ res=instance.\uuuu dict\uuuu[self.name]=self.func(实例) 文件“/home/wess/Documents/Work/Green/VPS/env_Green/lib/python3.6/site packages/django/url/resolvers.py”,第579行,url_模式