【发布时间】:2015-08-29 19:06:55
【问题描述】:
假设我有这样的模型:
class City(models.Model):
name = models.CharField()
class Instructor(models.Model):
name = models.CharField()
town = models.ForeignKey(City)
class Activity(models.Model):
name = models.CharField()
class Level(models.Model):
name = models.CharField()
class ActivityOffered(models.Model):
instructor = models.ForeignKey(Instructor)
activity = models.ForeignKey(Activity)
level = models.ForeignKey(Level)
price = models.IntegerField()
给定一个城市和一个活动和级别,我想根据那些与该活动和级别提供相关活动的人来过滤该城市的讲师。我想我可以这样做:
Instructor.objects..filter(city=city).filter(activityoffered__activity = activity, activityoffered__level = level)
但是,我还想用所提供活动的价格来注释讲师。
例如我想获取所有提供初学者射箭的教练的名单以及他们提供的价格。
最有效的方法是什么?我是否更好地获取活动提供实例的查询集,然后从中构建它?
【问题讨论】: