code: def _get_implicit_requirements(
          self,
          fields,
          requirements
      ):
          
          for name, field in six.iteritems(fields):
              source = field.source
              # Requires may be manually set on the field -- if not,
              # assume the field requires only its source.
              requires = getattr(field, 'requires', None) or [source]
              for require in requires:
                  if not require:
                      # ignore fields with empty source
                      continue
  
                  requirement = require.split('.')
                  if requirement[-1] == '':
                      # Change 'a.b.' -> 'a.b.*',
                      # supporting 'a.b.' for backwards compatibility.
                      requirement[-1] = '*'
                  requirements.insert(requirement, TreeMap(), update=True)
docs: Extract internal prefetch requirements from serializer fields.