def generate_piece(fields, current_row): piece_values = {} piece_cmp = [] title = ws.cell(column=(fields.index('piece')), row=current_row).value cmp = ws.cell(column=(fields.index('composer')), row=current_row).value fn = cmp.split(', ')[1] ln = cmp.split(', ')[0] composer_name = "{0} {1}".format(fn, ln) try: # If Piece exists don't recreate it Piece.objects.filter(composer__title__iexact=composer_name).get(title__iexact=title) except Piece.DoesNotExist: # If Piece doesn't exist, make it for field in PIECE_FIELDS: cell_value = ws.cell(column=(fields.index(field)), row=current_row).value if field == 'composer': try: piece_cmp.append(Composer.objects.get(title__iexact=composer_name)) except Composer.DoesNotExist: continue else: piece_values[field] = cell_value new_piece = Piece(title=title) new_piece.composer = piece_cmp[0] new_piece.save() print("Piece is not in data set - New Piece created: {0}".format(title)) return return
first_name="Ralph", last_name="Vaughan Williams", birth_country=" ", birth_year=0, death_year=1, ) williams.save() verdi = Composer( title="Giuseppi Verdi", first_name="Giuseppi", last_name="Verdi", birth_country=" ", birth_year=0, death_year=1 ) verdi.save() sym5 = Piece( title="Symphony No. 5", composer=beethoven, publisher=" ", catalog_type=" ", catalog_number=0, piece_year=0 ) sym5.save() egmont = Piece( title="Egmont Overture, Op. 84", composer=beethoven, publisher=" ", catalog_type=" ", catalog_number=0, piece_year=0 ) egmont.save() fidelio = Piece(title="Fidelio", composer=beethoven, publisher=" ", catalog_type=" ", catalog_number=0, piece_year=0) fidelio.save() sym7 = Piece( title="Symphony No. 7, op. 92", composer=beethoven, publisher=" ", catalog_type=" ", catalog_number=0, piece_year=0 ) sym7.save() steppes = Piece( title="In the Steppes of Central Asia", composer=borodin, publisher=" ", catalog_type=" ",