我发现django外键有点混乱,有没有什么方法可以使用一个查询来完成下面的视图?
# Model
class Programme(models.Model):
name = models.CharField(max_length = 64)
class Actor(models.Model):
programme = models.ForeignKey(Programme)
name = models.CharField(max_length = 64)
# View
def list_actors( request, programme_id):
programme = Programme.objects.filter(id = programme_id)[0]
actors = Actor.objects.filter(programme = programme_id)
json = simplejson.dumps( [{
'name': str(actor.name),
'rating': str(actor.rating),} for actor in actors] )
return HttpResponse(json, mimetype='application/javascript')
您查询
Programme
并分配给programme
,但您从不在任何地方使用结果。把那条线去掉。我想你正在寻找这样的东西:
https://docs.djangoproject.com/en/dev/ref/models/querysets/#select-related
与选择相关的,在最终获取之前放置。 这是你的台词:
应该看起来像
不幸的是,正如这里强调的那样:get foreign key objects in a single query - Django您将只能以这种方式检索参与者,因为select_related只对具有外键的对象起作用,反之亦然。
相关问题 更多 >
编程相关推荐