Stu*_*xon 15 python django foreign-key-relationship
我发现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')
Run Code Online (Sandbox Code Playgroud)
小智 17
我想你正在寻找类似的东西:
https://docs.djangoproject.com/en/dev/ref/models/querysets/#select-related
哪个是select_related,你在最终获得之前放置.那是你的路线:
actors = Actor.objects.filter(programme = programme_id)
Run Code Online (Sandbox Code Playgroud)
应该是这样的
actors = Actor.objects.select_related().filter(programme = programme_id)
Run Code Online (Sandbox Code Playgroud)
不幸的是,这里强调:在单个查询中获取外键对象 - Django您只能以这种方式检索actor,因为select_related仅适用于具有ForeignKeys的对象,反之亦然.
| 归档时间: |
|
| 查看次数: |
51049 次 |
| 最近记录: |