我在django中有一些模型(User(standard)
,Member(extended user)
,Calculations
,Subscription
,Type
),如下所示:
class Member(models.Model):
user = models.ForeignKey(to=User)
..........
class Calculations(models.Model):
user = models.ForeignKey(to=User)
.....
class Type(models.Model):
limit = models.IntegerField()
name = models.CharField(max_length=50)
default = models.BooleanField()
class Subscription(models.Model):
started = models.DateField()
type = models.ForeignKey(Type)
member = models.OneToOneField(Member)
因此,
Calculations
已通过User
ForeignKey
相关联
Member
也通过user
ForeignKey
相关联
Subscriptions
已与Member
以及Type
与ForeignKey
在我看来,我想查询数据库并访问所有这些模型的信息。
因此我想要除当前登录以外的所有成员,并且我想获得计算的数量和订阅的类型。
我正在尝试使用一个查询。
我尝试过类似的事情:
@login_required
def members(request):
// That's how I get all information about user and members, but I also need the calculation and subscription
members_list = Member.objects.select_related('user').all().exclude(user=request.user)
context = {'members': members_list}
return render(request, 'master/members.html', context)
任何建议我该怎么做?
答案 0 :(得分:2)
访问相关模型中的所有元素。
qv = Member.objects.exclude(user=request.user).values('user__subscription__started', 'user', 'user__calculations__user')