def length_estimate(self):
        '''
        Calculates and estimated word count based on number of characters, locations,
        and arcs. For reference see:
        http://www.writingexcuses.com/2017/07/02/12-27-choosing-a-length/
        '''
        characters = self.characterinstance_set.filter(
            Q(main_character=True) |
            Q(pov_character=True) |
            Q(protagonist=True) |
            Q(antagonist=True) |
            Q(villain=True)).count()
        locations = self.locationinstance_set.count()
        arcs = self.arc_set.count()
        return ((characters + locations) * 750) * (1.5 * arcs)
Calculates and estimated word count based on number of characters, locations,
        and arcs. For reference see:
        http://www.writingexcuses.com/2017/07/02/12-27-choosing-a-length/