我有一个带有 m2m-Fields 到 OtherModel 的模型。
class OtherModel(models.Model)
name = models.CharField(max_length=100, null=True)
class Model(models.Model)
name = models.CharField(max_length=100, null=True)
otherModel = models.ManyToManyField(OtherModel)
对于模型类,我使用普通的 FormSet()。对于 otherModel 类,我使用 formset_factory()
我只想允许从 OtherModel 的数据库中选择数据,所以我使用以下代码将 OtherModel 中的 CharField 名称更改为 ModelChoiceField:
def otherModel_formset(self, patientenID):
class OtherModelForm(ModelForm):
name= ModelChoiceField(queryset=OtherModel.objects.all())
def __init__(self, *args, **kwargs):
super(OtherModelForm, self).__init__(*args, **kwargs)
class Meta:
model = OtherModel
fields = ['name']
return formset_factory(form=OtherModelForm, max_num=10)
我可以将选定的名称保存在 m2m 字段中,但在重新加载时他们什么也没选择
例子:
<select id=some_id" name="some_name">
<option value="1"> HAWAII </option>
<option value="2"> ALASKA</option>
</select>
在示例中 ALASKA 在提交和重新加载时被选中,应该看起来像这样:
<select id=some_id" name="some_name">
<option value="1"> HAWAII </option>
<option value="2" **selected="selected"**> ALASKA</option>
</select>
但这站在 html 内容中:
<select id=some_id" name="some_name">
<option value="1"> HAWAII </option>
<option value="2"> ALASKA</option>
</select>
有人知道解决方案吗?