3
我在学习Django并试图通过桥接表来查询外键的问题。如果这是重复的道歉,我一直没能通过搜索找到答案。我如下Django:外键查询
class Place(models.Model):
id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=100)
class PlaceRef(models.Model):
place = models.ForeignKey(Place) # many-to-one field
entry = models.ForeignKey(Entry) # many-to-one field
class Entry(models.Model):
id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=10)
如果我想要检索与特定地点相关联的所有参赛作品,我怎么做它得到了定义的模型?
place = get_object_or_404(Place, id=id)
placerefs = PlaceRef.objects.filter(place=place)
entries = Entry.objects.filter(id.....)
此外,如果有对我来说是在Django定义(或摆脱)PlaceRefs更明智的方式,请随时提出其他建议。
感谢您帮助初学者!
+1通过改变一个多对多的关系,摆脱PlaceRef的。值得说明的是,幕后仍然存在一个桥接表,但除非您明确定义并在ManyToMany上使用'through'属性,否则它不会公开。 – 2010-10-31 12:20:00