访问模型fi中的用户值

2024-03-29 08:34:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想问一下,当我有这样的东西时,是否可能

 >>> from django.contrib.auth.models import User
 >>> u = User.objects.get(username='marcel4')
 >>> d = u.employee.department
 >>> print(d)
 >>> 経理部

能够为‘models.py’文件中的所有用户访问‘d’。因为我希望能够根据‘d’执行‘if’语句


Tags: djangofrompyimportauthgetobjectsmodels
1条回答
网友
1楼 · 发布于 2024-03-29 08:34:19

您可以迭代User对象,如:

for u in User.objects.select_related('employee').all():
    d = u.employee.department
    if d == 'some_value':
        # ...
    else:
        # ...

也就是说,如果要根据department过滤User对象,可以使用.filter(..),如:

for u in User.objects.filter(employee__department='some_value'):
    # ...
    pass

在这里,我们将用一个employee迭代所有的User,这个employee有一个department,这个some_value''。在数据库端进行过滤更有效,而不是在Django/Python端

相关问题 更多 >