问题标签 [limit-choices-to]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
11319 浏览

django - 具有“或”条件的多个字段的 Django limit_choices_to

我试图通过检查“share_holder”和“distributor”两列的值来限制字段的选择。如果其中任何一个是真的,那么我想要那个选择。

使用以下版本,我只能选择满足两个条件('share_holder': True AND 'distributor': True)。

但是,我需要选择 ('share_holder': True OR 'distributor': True)。

0 投票
1 回答
339 浏览

python-2.7 - Django 1.8:在 ForeignKey.limit_choices_to 中访问当前用户(扩展)

更新

我尝试使用CuserMiddleware并像这样使用它来获取当前用户:

但是,评论列表尚未显示再次,非常感谢任何想法。

结束更新

我正在使用/扩展 django 管理站点。我在限制和显示与特定评论者相关的所有评论时遇到问题。我使用了 django_tools 的limit_choices_toThreadLocal.get_current_user(),但它不起作用,并且不显示特定审阅者的审阅对象。以下是我的模型:

关于如何正确执行此操作的任何想法?提前致谢!

0 投票
2 回答
775 浏览

django - Django模型中的limit_choices_to

我有一个项目模型。该项目包含人员(从事该项目的人员)。我也在尝试为每个项目人员制作一个模型,包括他们对项目的任何注释和项目完成百分比。

我的问题是我想只过滤individual_person_in_project相应项目中的人员。我正在尝试使用

我想将我的选择限制为我Project模型中的用户。

0 投票
1 回答
777 浏览

django - Django ForeignKey limit_choices_to 多个子元素

我有以下型号:

但我想将我的“point_person”仅限于教师和学生。我怎样才能做到这一点?

0 投票
3 回答
274 浏览

django - Django:限制 models.ForeignKey 结果

我有一个订单模型:

它会返回订单的所有可能配置文件,这不是必需的,并且会减慢管理订单页面的加载速度。

我希望返回的个人资料只是下订单的用户的个人资料。我尝试将其更改为:

它返回订单号 99999 的正确配置文件,但我怎样才能动态获取它。Order 模型不知道“self”,但订单号包含在 URL 中。

做这个的最好方式是什么?

0 投票
0 回答
432 浏览

django - 向 django 管理界面添加另一个选择字段

所以在一个应用程序中我有四个模型。从头到尾,它们是名称“品牌”、“标记”、“类型”、“引擎”。

Mark 有一个外键来标记品牌,type 有一个外键来标记,engine 有一个外键来输入。

在管理界面中,当我添加标记时,我会得到一个下拉列表,可以从所有品牌中进行选择。当我添加一个类型时,我会得到一个下拉列表,可以从所有标记中进行选择。

我想要什么:当我添加类型时,我还希望能够从下拉列表中选择品牌,然后选择该选项,以从标记中过滤下一个下拉列表。

从 django.contrib 导入管理员 从 .models 导入 a_brand、b_mark、c_type、d_engine 从 .forms 导入 TypeModelAdminForm

这些是我的模型

这就是我在 admin.py 中的内容

当我在我的管理站点中并添加 c_type 或 d_engine 模型时,不仅能够选择“上层”模型的外键,而且可以根据品牌过滤它们,然后标记,然后引擎。

例如,当我添加 en d_engine 时,我必须从所有类型、所有标记、所有品牌中选择一个外键。相反,我想首先以某种方式首先选择品牌,选择要过滤的品牌,下一个标记的下拉列表,然后是选择的标记,以过滤类型,然后我才选择了 c_type。

解释起来有点混乱。

0 投票
1 回答
779 浏览

python - Django:使用自定义中间表时如何限制选择项

首先让我说我正在使用旧数据库,因此避免自定义中间表不是一种选择。

我正在寻找一种替代方法来获得该limit_choices_to功能,因为我只需要在我的 ModelForm 中显示由模型中的sample_option布尔值标记的选项:Sampletype

这是我的模型的简化视图

Sample是中间表。通常,如果项目首先使用 Django 启动,我可以将 ManyToManyField 声明定义为:

但这不是一个选择。那么我该如何获得这个功能呢?Django 在他们的文档中明确指出:

在使用 through 参数指定的自定义中间表的 ManyToManyField 上使用时,limit_choices_to 无效。

但是,当您确实有自定义中间表时,它们没有提供有关如何实现该限制的信息。

我尝试在模型中设置limit_choices_to选项,如下所示:ForeignKeySample

但这没有任何效果。

奇怪的是,我在网上找不到这个问题的答案,显然其他人必须在他们的项目中这样做,所以我猜测解决方案非常简单,但我无法弄清楚。

提前感谢您的任何帮助或建议。

0 投票
1 回答
365 浏览

django - 根据另一个 ForeginKey 字段限制 ForeignKey 选择

假设我有一个如下所示的应用程序结构:

** 模型.py **

在模板中,我希望用户能够创建组(在学校页面中)并在仅属于同一学校的经理中进行选择!

任何想法?

0 投票
1 回答
876 浏览

python - django - 管理模型从模型内的另一个字段为limit_choices_to赋值

我已经扩展了管理模型,所以对于每个员工,我只能分配其他客户,前提是他们在同一个组中。

并扩展了组管理模型


我试图做的只是通过他和他们的组指示符(group_account 字段)来限制每个经理用户的客户列表,这意味着可用的客户列表是那些与他具有相同特定组的人,例如“555”

当数据库中的 group_account = '555' 时,groups__groupaccount__group_account=group_account 的结果为空
,但如果我将其硬编码为:groups__groupaccount__group_account='555',则返回相关结果。
这是可能的和/或有什么选择?

django 1.9
感谢您的帮助

0 投票
0 回答
482 浏览

django - Django:ManyToManyField.limit_choices_to 似乎无法正常工作

我有以下型号:

models.py

views.py

forms.py

我创建了管理员 Robject 创建表单的模仿。ModelMultipleChoiceField 这意味着我在名称字段旁边添加了“加号按钮” ,这会导致我可以在其中创建新名称的弹出窗口。我打算每次打开我的 robject 创建表单时都有空的名称字段(没有选择)。不幸的是,当我刷新表单页面时,我看到了以前创建的名称。

我的问题是,limit_name_choices每次实例化新表单时都不会调用函数。这是一个错误,还是我做错了什么?

来自 django 文档: https ://docs.djangoproject.com/en/1.11/ref/models/fields/#django.db.models.ForeignKey.limit_choices_to

如果一个 callable 用于limit_choices_to,它将在每次实例化一个新表单时被调用。它也可以在验证模型时调用,例如通过管理命令或管理员。管理员构造查询集以在各种边缘情况下多次验证其表单输入,因此您的可调用对象可能会被多次调用。