Python 如何基于组(参数)过滤models.py中的外键

Python 如何基于组(参数)过滤models.py中的外键,python,django,django-models,foreign-keys,django-admin,Python,Django,Django Models,Foreign Keys,Django Admin,我是新来的。 我刚刚启动了一个使用Python/Django的项目,这是我想在工作中展示的想法 我有一个django项目和应用程序已经在运行 因为我才刚开始。我非常依赖默认的Django管理面板 我的问题是: 我在models.py上这门课 class Sales(models.Model): order_number = models.CharField(max_length=50) order_date = models.DateField('digitado em', de

我是新来的。 我刚刚启动了一个使用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个用户。 这是按用户所在的组筛选这些用户的一种方法吗?或者将下拉列表替换为这些弹出窗口的on,然后搜索并选择

只要我能真正做到,我愿意尝试不同的方法。:-)

谢谢大家抽出时间


编辑:

我在这里贴了几个小时后,终于收到了

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

身份验证用户模型

再说一遍。不确定它是否有任何影响

然后

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

桌子上只有一张桌子

用户类型=models.CharField(最大长度=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”是我设置给用户的表中选项的键

如果您仍然希望按组(一)进行筛选,而不是创建表,只需将“用户类型”替换为“组”

希望任何需要的人都能理解我是如何解释的

快乐编码。

查看此线程:并通过
Sales\u User\u group
过滤
而不是
name
(或用户的
group
字段)