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