如何获得查询结果的另一个查询在Django

问题描述:

我有以下型号:如何获得查询结果的另一个查询在Django

class Activity(models.Model): 
    name = models.CharField(max_length=128) 
    def __unicode__(self): 
     return self.name 

class CustomerActivity(models.Model): 
    customer = models.ForeignKey(Customer) 
    activity = models.ForeignKey(Activity) 
    def __unicode__(self): 
     return self.activity.name 

我有一个过滤器,得到了客户的所有CustomerActivities:

customer_activities = CustomerActivity.objects.filter(customer=customer) 

我真的需求是基于customer_activities结果的所有Activity对象吗?

喜欢的东西

activities = Activity.objects.filter(activity_in=customer_activities)??? 

试试这个

activities = Activity.objects.filter(customeractivity__customer=customer) 

了解更多关于lookups that span relationships

+0

正是我一直在寻找。我也在为这个部分寻找无处不在。谢谢。 – Atma 2014-08-27 23:47:05

+0

该链接目前已被打破,任何人都知道新的位置? – Chayemor 2017-09-02 07:12:25

+1

https://docs.djangoproject.com/en/1.11/topics/db/queries/#lookups-that-span-relationships @chayemor – karthikr 2017-09-02 10:12:47