[英]Querying through four models in Django
我有一個與此類似的數據模型(簡化):
class Mobility(models.Model):
pass
class Transfer(models.Model):
mobility = models.ForeignKey(Mobility)
class Organism(models.Model):
pass
class TransferLine(models.Model):
transfer = models.ForeignKey(Transfer)
organism = models.ForeignKey(Organism)
我有一個Mobility
實例和一個Organism
實例,並且我想獲取所有與兩者都相關的TransferLine
實例(直接與Organism
以及與通過Transfer
的Mobility
)。
這個問題與另一個問題的不同之處在於,就我而言,我需要經歷兩個關系,並且還有一個復合條件。
只需使用雙下划線符號即可進行跨越關系的查找。 在這種情況下,可以這樣進行:
transfer_lines = TransferLine.objects.filter(transfer__mobility=mobility,
organism=organism)
另一種方法是使用ForeignKey
反向關系 :
tlines = my_organisam.transferline_set.filter(transfer__mobility=my_mobility)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.