Python 在Django中,如何以init方法的形式获取未保存的内联对象的实例?
假设我有以下表格:Python 在Django中,如何以init方法的形式获取未保存的内联对象的实例?,python,django,forms,instance,Python,Django,Forms,Instance,假设我有以下表格: class MyInlineItemForm(forms.Form): def __init__(self, *args, **kwargs): super(MyInlineItemForm, self).__init__(*args, **kwargs) obj = kwargs.get('instance', '') obj将返回任何已保存项目的实例。但是,如果一个内联项未保存(即,因为有错误),则返回时没有实例,只有一堆数据在k
class MyInlineItemForm(forms.Form):
def __init__(self, *args, **kwargs):
super(MyInlineItemForm, self).__init__(*args, **kwargs)
obj = kwargs.get('instance', '')
obj
将返回任何已保存项目的实例。但是,如果一个内联项未保存(即,因为有错误),则返回时没有实例,只有一堆数据在kwargs
中浮动
现在kwargs
确实返回了一个“prefix”键,它允许我获取一些我可能需要的项目,但是我有点惊讶,没有干净的内置方式来访问作为对象的未保存项目
所以问题是,若在kwargs
中并没有“instance”键来访问对象表单中未保存的内联项,那个么什么是访问该项的好方法?还是我只需要手动创建一个
我正在处理的问题要求在表单生成过程中根据某些其他字段动态填充某些字段,因此我需要能够访问这些其他字段。初始化表单时,应该以这种方式传递对象实例
MyInlineItemForm(instance=object_instance)
然后,您可以通过kwargs
访问实例对象