Django:ModelForm 管理员的当前用户 ID

2024-06-04

我想用当前用户过滤 ModelChoiceField 。我找到了一个非常接近我想做的解决方案,但我不明白Django:如何在管理表单中获取当前用户 https://stackoverflow.com/questions/2864955/django-how-to-get-current-user-in-admin-forms

接受的答案说

“我现在可以通过访问 self.current_user 来访问 forms.ModelForm 中的当前用户”

--admin.py

class Customer(BaseAdmin):
form = CustomerForm

def get_form(self, request,obj=None,**kwargs):
    form = super(Customer, self).get_form(request, **kwargs)
    form.current_user = request.user
    return form

--forms.py

class CustomerForm(forms.ModelForm):

default_tax =   forms.ModelChoiceField(queryset=fa_tax_rates.objects.filter(tenant=????)) 
class Meta:
    model   = fa_customers

如何获取 modelchoice queryset 上的当前用户(tenant=????) 如何在 modelform(forms.py) 中调用 self.current_user


覆盖__init__的构造函数CustomerForm:

class CustomerForm(forms.ModelForm):
    ...
    def __init__(self, *args, **kwargs):
        super(CustomerForm, self).__init__(*args, **kwargs)
        self.fields['default_tax'].queryset = 
                        fa_tax_rates.objects.filter(tenant=self.current_user))

表单字段定义中的查询集可以安全地设置为all() or none():

class CustomerForm(forms.ModelForm):
    default_tax = forms.ModelChoiceField(queryset=fa_tax_rates.objects.none()) 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django:ModelForm 管理员的当前用户 ID 的相关文章

随机推荐

  • Blend For Visual Studio 11 出现错误

    已安装 Windows 8 Consumer Preview 安装 Visual Studio 2010 高级版 安装 Visual Studio 11 Ultimate 一切都已安装 没有任何错误 我使用 Visual Studio 11
  • 包含哈希标记的目标的 Apache 重写规则

    我正在尝试发出重定向 其中目标包含片段标识符部分 我尝试过这个规则 RewriteRule foo bar cgi script foobar 1 2 R L 但是 那 被转换成 23并且 Web 应用程序无法正确解析此 url 我怎样才能
  • JQuery / Flickr API 获取照片集的问题

    我一直在尝试构建一个通过 Flickr 管理的相册系统 过去一天左右我一直在使用 Flickr API 并编写了以下代码 但它只是没有返回预期的 HTML insetad 我在浏览器中收到上面一行的错误 images html theHtm
  • htmlspecialchars() 期望参数 1 为字符串,Laravel 中给出的数组

    我的程序中出现了这个错误Laravel刀片模板 htmlspecialchars 期望参数 1 为字符串 给定数组 我尝试将数组转换为刀片模板中的字符串 这是代码 Where silderImageDataArray是这里存储的变量和值 这
  • 现实世界中的 JavaCard 3?

    我目前正在从事我的文凭工作 部分工作包括开发JavaCard常规小程序SIM牌 第一个选项是使用JavaCard2 X API并使用APDU与小程序通信的命令 这可能非常棘手 因为我需要为 android 开发客户端应用程序 它将与这个小程
  • 如何解决 MVC 中的“访问令牌已过期,但我们无法刷新它”

    我目前正在研究谷歌API其目的是获取登录者的圈子 我已经有了访问令牌但问题是每当我尝试运行我的代码时它都会返回此异常 访问令牌已过期 但我们无法刷新它 我该如何解决这个问题 var claimsforUser await UserManag
  • 使用 google 查询邮政编码距离

    我有两个邮政编码列表 R 语言 其中一个是孩子的地址及其学业成绩 另一个是学校的地址 我希望能够为每个孩子找到最近的学校 所以大概需要通过转换为长和纬度值来计算邮政编码之间的距离 然后我希望能够在谷歌地图上绘制每所学校的所有孩子 并看看住在
  • 如何给Servant中的所有端点添加前缀?

    我在 Haskell 仆人中有一个 hello world 应用程序 这是其中的一部分 type API my items gt Get JSON MyItem lt gt my items gt Capture id Int gt Get
  • jQuery 可排序连接多个列表

    我有两个列表 每个列表中有 8 个列表元素 我想将任一元素拖动到任一列表中 并将两个列表的总顺序放在一起 目前 该顺序被归类为两个单独的可排序列表 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 不过我希望它是 显然按照元素
  • std::string 到 LPCTSTR

    新版本典型问题如何转换而来std string to LPCTSTR 从不同的帖子中我了解到我应该这样做 CreateDirectory path c str NULL 编译器仍然给出错误 因为cannot convert from con
  • ListView 和 CursorAdapter 对于大量数据的性能问题

    我在 sqlite 表中有大约 4k 行 表有 7 列 我用自己的 CursorAdapter 创建了工作 ListView 查询是这样的SELECT FROM table ORDER BY column DESC 表有第一列 id INT
  • 如何将react-alert与定义为ES6类的React组件一起使用

    我正在尝试使用https www npmjs com package react alert https www npmjs com package react alert在我的项目中 但是为声明为函数的 React 组件提供了示例 但我的
  • 如何通过运行构建队列重新启动 Jenkins?

    我们的 Jenkins 执行大量集成测试 詹金斯运行的时间越长 测试所需的时间就越长 因此 我们每天晚上通过 cronjob 重新启动 Jenkins 服务器 同时 构建队列太长而无法完成 当前正在运行的作业被取消并失败 那太丑了 我找到了
  • 使用 C# 和 Open XML 从 Excel 到 DataTable

    我正在使用 Visual Studio 2008 我需要创建一个DataTable使用 Open XML SDK 2 0 从 Excel 工作表中获取 我需要使用工作表第一行的 DataTable 列创建它 并使用其余值完成它 有谁有示例代
  • 使用 dtexec 运行 SSIS 包

    我正在使用 dtexec 运行 SSIS 包 该软件包在我的系统上的 BIDS 中运行良好 当我创建 SQL Server 代理作业以按计划运行包时 包运行步骤被安排为 T SQL 任务 而不是 SSIS 包 该作业没有报告错误 但它甚至没
  • 编程语言之间的关系

    我想知道以下问题 这是什么意思 有些语言是 另一个的子集 超集 http www c2 com cgi wiki ForeignFunctionInterface 能 是用数学来定义的吗 是吗 与子集 超集相关 初等集合论中的概念 几乎所有
  • jqGrid cellattr 标题忽略空格后的文本

    我在 jqgrid 中有 colmodel 它有 名称 和 描述 列 我需要将鼠标悬停在 名称 列上时将描述显示为工具提示 假设我有这个模型 例如 colModel name name cellattr function rowId val
  • 无法让 ASCII 艺术回显到控制台

    我是 Bash 脚本新手 这让我感到困惑 我正在将 ASCII 艺术添加到项目中 但似乎无法弄清楚如何转义某些字符 有人可以帮我让下面的代码正常工作吗 每当我尝试添加斜杠作为转义字符来修复错误时 斜杠也会在执行时打印到控制台 这破坏了形象
  • 在 React 中过滤数据的最佳方法是什么?

    我正在建立该国餐馆的目录 该 API 返回一组对象 每个对象都包含诸如restaurantName restaurantLocation restaurantPriceRange 等字段 我想创建一个过滤组件 它将餐厅数组减少到仅包含那些符
  • Django:ModelForm 管理员的当前用户 ID

    我想用当前用户过滤 ModelChoiceField 我找到了一个非常接近我想做的解决方案 但我不明白Django 如何在管理表单中获取当前用户 https stackoverflow com questions 2864955 djang