我正在尝试使用来自 Db 对象的数据预填充表单域。您如何设置表单、 View 和模型以使用这些数据填充字段?
目标是让用户只选择从对象中查询的数据。前任。一个事件有乐队演奏,用户从事件中选择他们最喜欢的乐队。
我试着在文档中查找 form.data - 但似乎找不到我要找的东西。
谢谢!
最佳答案
假设您的事件模型有带作为多对多键,窗体和 View 的布局如下:
表单.py:
class EditEventForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(EditEventForm, self).__init__(*args, **kwargs)
self.fields['bands'].queryset= \
Bands.objects.filter(Q(name='band1')|Q(name='band2'))
class Meta:
model = Event
注意:您需要根据您的要求调整表单中的查询集提取。
views.py:
form = EditEventForm(instance=event)
此外,根据 dcrodjer 的建议,继续阅读有关实现 ModelMultipleChoiceField 的一些文字
关于python - 使用 Db 数据填充 Django 表单字段数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4743910/