当实例太多时,如何使用Django ModelForm按id获取并返回模型实例?
我有一个当实例太多时,如何使用Django ModelForm按id获取并返回模型实例?,django,django-forms,inline,modelform,modelchoicefield,Django,Django Forms,Inline,Modelform,Modelchoicefield,我有一个ModelForm用于Inline,我试图接受一个实例的id,然后获取该实例并“将其返回到字段”,因为该字段是一个ForeignKey字段。 我不能使用(Model)choicefield,因为有数千个实例,这意味着加载需要很长时间。我也不能以最近对象的切片为例,并从中进行选择,因为一旦切片出错,将导致无法过滤查询集 我曾尝试过使用save方法,但到目前为止还没有成功。(但我敢打赌这将是一条路) 我希望表单获取三个id,然后通过model.objects.get(id=id)获取这些实例
ModelForm
用于Inline
,我试图接受一个实例的id
,然后获取该实例并“将其返回到字段”,因为该字段是一个ForeignKey
字段。
我不能使用(Model)choicefield
,因为有数千个实例,这意味着加载需要很长时间。我也不能以最近对象的切片为例,并从中进行选择,因为一旦切片出错,将导致无法过滤查询集
我曾尝试过使用save
方法,但到目前为止还没有成功。(但我敢打赌这将是一条路)
我希望表单获取三个id,然后通过model.objects.get(id=id)
获取这些实例,然后以某种方式创建一个新实例
代码如下所示
class AgregatorCrossSaleProductForm(forms.ModelForm):
IsShown = forms.BooleanField(required=False)
ParrentProductId = forms.IntegerField()
ChildProductId_id = forms.IntegerField()
CrossSaleProductTypeId = forms.IntegerField()
class Meta:
model = AgregatorCrossSaleProduct
exclude = []
class AgregatorCrossSaleProductInline(admin.TabularInline):
model = AgregatorCrossSaleProduct
form = AgregatorCrossSaleProductForm
...
任何提示都将不胜感激。先谢谢你