def set_pronouns(self, contact, original_data):
subject_pronoun = original_data.get("pronoun")
if subject_pronoun:
if not isinstance(subject_pronoun, str):
raise ValidationError("Pronoun must be a string")
contact.pronouns = get_pronouns_by_subject(subject_pronoun)
filters = original_data.get("pronouns")
if filters:
if isinstance(filters, list) and all(isinstance(f, str) for f in filters):
contact.pronouns_list = [get_pronouns_by_subject(f) for f in filters]
elif isinstance(filters, dict):
contact.pronouns = get_pronouns_by_filters(filters)
else:
raise ValidationError(
"Pronouns must be a list of subject pronoun strings, "
"or an object of pronoun types."
)
return contact
评论列表
文章目录