1 つの属性をチェックし、selling=False のアーティストがいる場合は False、そうでない場合は True を返すメソッドを作成しました。
def check_selling(track, excludes):
"""
Returns True if all track's artists are allowed for selling. False otherwise
"""
for artist in track.artists.all():
if not artist.selling:
excludes.append(track.pk)
return False
return True
どうすればこれを最小限に抑えることができますか?
私は試した:
def check_selling(track, excludes):
res = excludes.append(track.pk) if not [artist.selling for artist in track.artists.all()] else True
return res or False
しかし、[False] または [True] のリスト内包表記 [track.artists.all() 内のアーティストの artist.selling] は常に True を返します...