2013-12-19 2 views
0

지난 주에 발표 된 Song 객체 목록은 week_songs입니다. 중복 된 노래가있을 수 있지만 각 노래에는 song_id이 연관되어 있습니다.Django 객체 속성과 객체 목록 비교

나는 지난 주 출시 된 고유 한 노래 목록을 얻으려고합니다.

이 내가

week_song_list = [] 
for song in week_songs: 
    if song.song_id not in week_song_list: 
     week_song_list.append(song) 

을하고있어 무엇 그러나 이것은 심지어 같은 song_id 모든 노래를 추가 할 것으로 보인다. 나는 이것이 기본적인 해결책을 가져야한다는 것을 알고있다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

사이드 노트와 마찬가지로 테스트가 잘못되었습니다. '주간 노래가 아닌 경우'를 원합니다. 'song.song_id'는'song' 인스턴스와 절대 비교하지 않습니다. –

+0

그래, 알았다. 나는 노래 ID가 아닌 노래 객체의 목록과 비교되어 있어야합니다. –

답변

0

다른 사람이 지적했듯이 (그는 답을 삭제했습니다), 나는 본 ID를 기록하지 않았습니다.

이것은 내가 찾고있는 것입니다.

week_song_list = [] 
seen_ids = [] 
for song in week_songs: 
    if song.song_id not in seen_ids: 
     week_song_list.append(song) 
     seen_ids.append(song.song_id)