替换/更改python集中的项目

时间:2012-03-26 15:56:19

标签: python django

我正在改变django-taggit,以便它不区分大小写。

我想获取一个项目的标签列表,检查它们是否存在不同的情况,如果存在,请将找到的标签替换为标签的替代案例。

for t in tags:
    existing_tag = self.through.tag_model().objects.get(name__iexact=t)
    if existing_tag:
        #Replace t in tags with existing_tag

我如何写最后一行?我需要用标签的预先存在的大小写替换set“tags”中的标签的类型版本。如何更换集合中的项目?

1 个答案:

答案 0 :(得分:1)

请勿修改tags,请创建新版本。

new_tags = []
for t in tags:
    existing_tag = self.through.tag_model().objects.get(name__iexact=t)
    if existing_tag:
        new_tags.append(existing_tag)
    else:
        new_tags.append(t)
tags = set(new_tags)