def delete(*, artist: ArtistModel = None, name: str = None) -> None: assert artist or name if not artist: artist = ArtistModel.read(name=name) artist.delete()
def create(*, album: AlbumModel, artist: ArtistModel = None, artist_name: str = None) -> None: assert artist or artist_name if not artist: artist = ArtistModel.read(name=artist_name) artist.albums.append(album) album.save()
def read(*, name: str) -> Union[ArtistModel, None]: return ArtistModel.read(name=name)