我有这个工作,但我相信一定有更好的方法
上下文是一个电影/电视应用程序,因此有标题(电影/电视)和在每个多对多关系中扮演角色的人。
我有一个“titlepeople”模型,其中包含以下信息:
id, people_fk, title_fk, role_title
在演员有很多角色的电影中,我需要显示他们的信息,例如:汤姆汉克斯:园丁、警察 #1、另一个角色 #4
无论如何我可以优化下面的方法,这样代码就不会那么长了吗?
cast_unique = list()
for person in cast:
#if not in the unique list, add them
if person.people not in [p.people for p in cast_unique]:
cast_unique.append(person)
else:
# if in the list, append the role information
if person.role_title:
for c in cast_unique:
if c.people == person.people:
# append role info
c.role_title = '{0} / {1}'.format(c.role_title, person.role_title)
谢谢