django - 编辑时未显示 Django ModelChoiceField 初始值
问题描述
我有一个表单“ModelChoiceField”表单字段,添加数据时它工作正常!但是如何在编辑表单时检索保存的数据数据库以被选中?
form = AddForm(owner=pk, instance=data, initial={'course': data.course})
我什至尝试设置初始值,但仍然没有达到选定的值来显示!
class AddForm(ModelForm):
def __init__(self, owner, *args, **kwargs):
super(AddForm, self).__init__(*args, **kwargs)
self.fields['course'].queryset = Faculty.objects.filter(owner=owner)
请注意,所选值已正确保存在数据库中!但它没有出现
解决方案
您应该owner
从 kwargs 中获取,如下例所示。
def __init__(self, *args, **kwargs):
owner = kwargs.pop('owner')
super().__init__(*args, **kwargs)
self.fields['course'].queryset = Faculty.objects.filter(owner=owner)
推荐阅读
- android - 如何在我的 Flutter 应用中为多个组织设置 Firebase 身份验证?
- java - Java:通过分隔符反转字符串
- machine-learning - 带有额外数据的 CNN-LSTM:但我得到了一个错误 :(
- list - 什么是定期添加项目的有效方法
- c++ - 基于clang源的覆盖:显示没有覆盖的文件
- mongodb - 更新时无法修复错误
- intellij-idea - 启动 Intellij IDEA 时不要重新打开文件
- javascript - 无法使用 Javascript 刷新 Ajax 数据
- reactjs - 如何在 TypeScript 中使用 react-to-print?
- python-3.x - 如何从 tf.py_function 返回张量字典?