code: def _do_create(di):
      
      track = di['track'].strip()
      artists = di['artist']
      if isinstance(artists, StringType):
          artists = [artists]
  
      # todo: handle case where different artists have a song with the same title
      tracks = Track.objects.filter(title=track, state='published')
      if tracks:
          track = tracks[0]
          track_created = False
      else:
          track = Track.objects.create(title=track, state='published')
          track_created = True
  
      last_played = di.get('last_played', None)
      if last_played and (track.last_played != last_played):
          track.last_played = last_played
          track.save()
  
      if track_created:
          track.length = di.get('length', 240)
          track.sites = Site.objects.all()
          track.save(set_image=False)
          for artist in artists:
              track.create_credit(artist.strip(), 'artist')
          # Set image last since we need credits set
          track.set_image()
docs: Function that interprets a dictionary and creates objects