python - 使用 Db 数据填充 Django 表单字段数据

标签 python django django-views django-forms

我正在尝试使用来自 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/

相关文章:

python - 如何编写基于类的 Django 验证器?

python - pyinstaller [错误号 22]

python - 有没有办法在 O(1) 时间内使用其中一个键获取值

python - django-cacheops 不适用于南方

python - View 未返回 HttpResponse 对象错误

python - 获取分支名称我在 Pull Requests 上使用 GitHub Webhook 处理

python - 如何使用 MariaDB 在 Django 中正确过滤 SIP 字符?

django - 使用信号扩展 django 注册

python - Django 网址帮助 - 无法访问 View

python - 将嵌套字典转换为列表