0

这听起来可能有点奇怪。

我有一个对象列表,称为项目。对于其中的每一个,我都希望能够创建另一个名为 Main 的对象。Main 有一个指向 Item 的外键。

创建 Main 的 ModelForm 让我可以选择一个 Item 作为外键字段。

我想要的是能够在模型表单的外键字段中选择多个值,然后在处理表单数据时,为每个选择创建一个主对象。

我试过简单地将字段覆盖到 ModelMultipleChoiceField,但在提交数据时我似乎找不到处理它的方法。我找不到检索所有选定值的方法,所以我可以开始循环,即:我想在循环之前将选定的值提取到一个列表中。就像是:

form = Form(request.POST)
list = form.fields['foreignkey'].values()

for l in list:
    form.fields['foreignkey'] = l
    if form.is_valid():
        form.save()
        ...
    ...

除了, values() 方法不存在,所以......

希望这是有道理的......有什么想法吗?

4

1 回答 1

0
  1. 添加一个新的 ModelMultipleChoiceField,例如multiple_items,而不是覆盖 FK 的默认字段,

  2. 覆盖form.save(),为每个创建一个 Mainself.cleaned_data['multiple_items']

于 2012-09-11T08:15:59.960 回答