title: django views, getting request and using it as a parameter
body: <p>I'm very confused about this right now, 
  so I know when there's a simple code like the below</p>
  
  <pre><code>def text_detail(request ,course_pk, step_pk):
      step = get_object_or_404(Text, course_id = course_pk, pk=step_pk)
  </code></pre>
  
  <p>course_pk and step_pk from the url, and those requests are set equal to course_id and pk here. but what I don't understand is what is course_id and pk here? I mean, course_id is from Course model which is foreignkey to step. so it's self.Course.id so it's course_id. But then, how about the next one pk? shouldn't it be step_id = step_pk? when it's just pk how does django know which pk it is? 
  Sorry if the question is very confusing, I'm very confused right now.</p>
  
  <p>Edit</p>
  
  <pre><code>class Step(models.Model):
      title = models.CharField(max_length=200)
      description = models.CharField()
      order = models.IntegerField(default=0)
      course = models.ForeignKey(Course)
  
      class Meta:
          abstract = True
          ordering = ['order',]
      def __str__(self):
          self.title
  class Text(Step):
      content = models.TextField(blank=True, default="")
  </code></pre>