Django - Access fields on a model's “through” table from an instance

后端 未结 2 1792
野的像风
野的像风 2020-12-19 14:04

I have a many-to-many relationship with a through table like so:

class Chapter(models.Model):
    name = models.CharField(max_length=255,)
    slides = model         


        
相关标签:
2条回答
  • 2020-12-19 14:50

    You can use slide.slideorder_set as documented in the django docs

    0 讨论(0)
  • 2020-12-19 15:09

    You can either filter on the SlideOrder model directly

    slide = Slide.objects.get(pk=1)
    slide_orders = SlideOrder.objects.filter(slide=slide)
    for slide_order in slide_orders:
        print slide_order.number
    

    or follow the foreign key backwards:

    slide = Slide.objects.get(pk=1)
    slide_orders = slide.slideorder_set.all()
    for slide_order in slide_orders:
        print slide_order.number
    

    See the docs on extra fields on many-to-many relationships for more info.

    0 讨论(0)
提交回复
热议问题