예제 #1
0
파일: utils.py 프로젝트: stefanor/pybay
def get_accepted_speaker_by_slug(speaker_slug):
    """
    This function is purposely done do avoid touching Symposion
    source code. Given the amount of approved speakers is not
    substantial, it's better to iterate over speakers, slugify name,
    and check equality, than create a new field in Symposion.
    """
    approved_talks = Proposal.objects.filter(
        result__status='accepted').prefetch_related('speaker')
    for approved_talk in approved_talks:
        if approved_talk.speaker.name_slug == speaker_slug:
            return approved_talk.speaker

    raise Speaker.DoesNotExist()