使用 user.get_profile() 自定义 Django ModelChoiceField 查询
我想知道创建时如何访问用户的个人资料 ModelChoiceField 的查询集。我希望能够使用 ModelChoiceField 根据某个表显示另一个表中的联系人 参数保存在用户配置文件中,即
who = forms.ModelChoiceField(queryset=Contacts.objects.filter(id__exact=request.user.get_profile().main_company))
是否有更好的方法来执行此操作(除了 ajax 选择器之外) 模板)?
格雷格
I am wondering how to access a user's profile when creating the
queryset for a ModelChoiceField. I would like to be able to use the
ModelChoiceField to display contacts from another table based on a
parameter saved in the user profile i.e.
who = forms.ModelChoiceField(queryset=Contacts.objects.filter(id__exact=request.user.get_profile().main_company))
Is there a better way to do this (beyond an ajax picker in the
template)?
Greg
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于那些感兴趣的人,我能够从以下SO讨论中提出解决方案:
如何访问请求对象或表单的 clean() 中的任何其他变量方法?
Django:访问模型实例来自 ModelAdmin 中?
我的观点:
保存表单(不必在此处包含 request=request,但以防万一)
或空表单
感谢 Daniel Roseman 提供了之前的两个答案。
https://stackoverflow.com/users/104349/daniel-roseman
For Those interested I was able to come up with a solution from the following SO discussions:
How do I access the request object or any other variable in a form's clean() method?
Django: accessing the model instance from within ModelAdmin?
My View:
Save Form (Not as necessary to include request=request here, but just in case)
Or Empty Form
Thanks to Daniel Roseman for both of the previous answers.
https://stackoverflow.com/users/104349/daniel-roseman