def METHOD_NAME(self):
    """
    Creates a canonical representation for this day
    """
    # Local
    from .setting import Setting
    canonical_repr = []
    muscles_front = []
    muscles_back = []
    muscles_front_secondary = []
    muscles_back_secondary = []
    for set_obj in self.set_set.select_related():
        exercise_tmp = []
        for base in set_obj.exercise_bases:
            setting_tmp = []
            exercise_images_tmp = []
            # Muscles for this set
            for muscle in base.muscles.all():
                if muscle.is_front and muscle not in muscles_front:
                    muscles_front.append(muscle)
                elif not muscle.is_front and muscle not in muscles_back:
                    muscles_back.append(muscle)
            for muscle in base.muscles_secondary.all():
                if muscle.is_front and muscle not in muscles_front:
                    muscles_front_secondary.append(muscle)
                elif not muscle.is_front and muscle.id not in muscles_back:
                    muscles_back_secondary.append(muscle)
            for setting in Setting.objects.filter(set=set_obj,
                                                  exercise_base=base).order_by('order', 'id'):
                setting_tmp.append(setting)
            # "Smart" textual representation
            setting_text = set_obj.reps_smart_text(base)
            # Exercise comments
            comment_list = []
            #for i in base.exercisecomment_set.all():
            #    comment_list.append(i.comment)
            # Flag indicating whether any of the settings has saved weight
            has_weight = False
            for i in setting_tmp:
                if i.weight:
                    has_weight = True
                    break
            # Collect exercise images
            for image in base.exerciseimage_set.all():
                exercise_images_tmp.append(
                    {
                        'image': image.image.url,
                        'is_main': image.is_main,
                    }
                )
            # Put it all together
            exercise_tmp.append(
                {
                    'obj': base,
                    'setting_obj_list': setting_tmp,
                    'setting_text': setting_text,
                    'has_weight': has_weight,
                    'comment_list': comment_list,
                    'image_list': exercise_images_tmp
                }
            )
        # If it's a superset, check that all exercises have the same repetitions.
        # If not, just take the smallest number and drop the rest, because otherwise
        # it doesn't make sense
        # if len(exercise_tmp) > 1:
        #     common_reps = 100
        #     for exercise in exercise_tmp:
        #         if len(exercise['setting_list']) < common_reps:
        #             common_reps = len(exercise['setting_list'])
        #     for exercise in exercise_tmp:
        #         if len(exercise['setting_list']) > common_reps:
        #             exercise['setting_list'].pop(-1)
        #             exercise['setting_obj_list'].pop(-1)
        #             setting_text, setting_list = set_obj.reps_smart_text(exercise)
        #             exercise['setting_text'] = setting_text
        canonical_repr.append(
            {
                'obj': set_obj,
                'exercise_list': exercise_tmp,
                'is_superset': True if len(exercise_tmp) > 1 else False,
                'settings_computed': set_obj.compute_settings,
                'muscles': {
                    'back': muscles_back,
                    'front': muscles_front,
                    'frontsecondary': muscles_front_secondary,
                    'backsecondary': muscles_front_secondary
                }
            }
        )
    # Days of the week
    tmp_days_of_week = []
    for day_of_week in self.day.select_related():
        tmp_days_of_week.append(day_of_week)
    return {
        'obj': self,
        'days_of_week': {
            'text': ', '.join([str(_(i.day_of_week)) for i in tmp_days_of_week]),
            'day_list': tmp_days_of_week
        },
        'muscles': {
            'back': muscles_back,
            'front': muscles_front,
            'frontsecondary': muscles_front_secondary,
            'backsecondary': muscles_front_secondary
        },
        'set_list': canonical_repr
    }