Django 模型:从对象获取用户

Django models: getting users from object

我刚开始使用 Django,我喜欢它!然而,它仍然非常具有挑战性。我有一个模型 Shift,它使用模型 Assign 为它分配了用户。我想获取分配给某个班次的所有用户,但我只能获取 Assign 对象。你们知道我应该如何更改我的查询吗?

上面的问题给了我这两个模型:

class Shift(models.Model):
    shift_location = models.CharField(max_length=200)

    def get_shift_users(self):
        Assign.objects.filter(shift=self)


class Assign(models.Model):
    shift = models.ForeignKey(Shift, unique=False)
    user = models.ForeignKey(User, unique=False)

如何 return 使用方法 get_shift_users 的所有用户,而不是所有 Assign 对象?我以为

Assign.objects.filter(shift=self).user

会工作...

User开始

def get_shift_users(self):
   return User.objects.filter(assign_set__shift=self)