code: def full_block_key(self):
          
          if self.block_key.run is None:
              # pylint: disable=unexpected-keyword-arg, no-value-for-parameter
              return self.block_key.replace(course_key=self.course_key)
          return self.block_key
docs: Returns the "correct" usage key value with the run filled in.