when you add .values('pk') it alters the structure of the queryset in such a way that
.values() generates a queryset of dictionaries containing only the specified fields (pk in this case).part_description_lower) are no longer part of the queryset output.part_description_lower") is called, django cannot resolve part_description_lower because it is no longer available in the queryset context.