微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何根据组参数

如何解决如何根据组参数

我是新来的。 我刚刚使用 Python/Django 盯着一个项目,这是我想在我的工作中展示的一个想法。

我有一个 django 项目和应用程序已经在运行 因为我刚刚开始。我非常依赖认的 Django 管理面板

我的问题是: 我在models.py中有这个类

class Sales(models.Model):
    order_number = models.CharField(max_length=50)
    order_date = models.DateField('digitado em',default=date.today)
    Sales_User = models.ForeignKey(User,on_delete=models.SET_DEFAULT)

现在在我的用户数据库中,我有 50 个用户。但其中只有 15 位是销售人员(都在“销售”组中)

当我去创建订单并且必须选择销售用户时 下拉列表显示所有 50 个用户。 是否可以通过他们所在的组过滤这些用户?或者将下拉列表替换为那些弹出窗口,然后搜索并选择。

我愿意尝试不同的方法,只要我能真正完成它们。 :-)

谢谢大家的时间。


编辑:

在这里发布了几个小时后,我终于明白了。

从那以后我做的第一件事(不认为我有影响,但它是原始问题的一个变量)是用

扩展 Django 用户系统

AUTH_USER_MODEL

再说一遍。不知道有没有影响。

然后

我尝试在用户扩展模型中创建另一个表。 你知道。所以我可以在用户表单中添加一个字段

表只有

user_type = models.CharField(max_length=30)

我去了管理面板添加了一些像 销售量 工人 合作伙伴

那么 我去了一个用户(任何用户)设置 e 选择了一个字段(在本例中为 Sales)

毕竟。我仍然没有做任何事情来实际过滤主键。

但是在查看 django 文件后(更准确地说是写主键的文件,我找到了选项 limit_choices_to={'' : ''}

我试过了,就是这样。和我想要的一模一样。 ;-)

那么现在。看起来像这样

class Sales(models.Model):
    order_number = models.CharField(max_length=50)
    order_date = models.DateField('digitado em',default=date.today)
    Sales_User = models.ForeignKey(settings.AUTH_USER_MODEL,limit_choices_to={'types_of_users' : '1'},on_delete=models.SET_DEFAULT)

在这个例子中,“1”是我为用户设置的表中选项的键。

如果您仍然想按组(一个)过滤而不是创建表,只需将 'types_of_users' 替换为 'groups'

希望有需要的人能明白我是怎么解释的。

快乐编码。

解决方法

查看此线程:filter foreignkey field in django admin 而不是 name 过滤器 Sales_User__group(或任何用户的 group 字段)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。