У меня есть SongSlots, созданные с определенными интервалами, и мне нужно назначить значения Songs в Playlist для этих SongSlots.
Для этого я могу выбрать несколько списков воспроизведения одновременно. Теперь плейлисты могут содержать количество песен (которые даны в форме, песни в час). Таким образом, L - это список, который состоит из песен / в час. Цель, которую я требую, чтобы назначить эти песни SongSlots следующим образом.
Предположим, у нас есть 2 плейлиста, которые состоят из 3 песен и 2 песен. Мне нужно создать интервал 60/5 = 12 minutes
. Теперь мне нужно назначить эти песни для SongSlots.
Slot 1: P1 - Which consists of 3 songs
Slot 2: P2 - Which consists of 2 songs
Slot 3: P1 - Which consists of 3 songs
Slot 4: P2 - Which consists of 2 songs
Slot 5: P1 - Which consists of 3 songs
Case 1:
L = [3,2,1] Total_sum = 6, thus 6 elements need to be formed as below:
O/P Should be:
D = [3,2,1,3,2,3]
Case 2:
L = [3,2], Total_sum = 5
O/P:
D = [3,2,3,2,3]
Учитывая, что список может содержать любое количество элементов, но функциональность должна быть такой же, как указано выше.
Я написал код выше, но я не могу получить правильные результаты:
count = 0
ads = iter(ads_query)
if adslot_create_list:
SongSlot.objects.bulk_create(adslot_create_list)
for songslot in adslot_create_list:
if count == total_songs:
ads = iter(ads_query)
count = 0
ad = next(ads,'Finish')
if ad == 'Finish':
ads = iter(ads_query)
ad = next(ads,'Finish')
songslot.ads.add(ad)
count = count + 1
Здесь,
ads_query = List of values.
total_songs = Sum of total elements.
Может кто-нибудь, пожалуйста, направьте меня что мы можем сделать?
Обновление 1: я получаю значения песен в час в наборе запросов, как показано ниже
<QuerySet [<Songs: Lambergi- no of times per hr -3>, <Songs: Only Human- no of times per hr -2>, <Songs: SongBlock 2- no of times per hr -1>]>
И каждый объект в наборе запросов содержит поле songperhour, которое содержит целочисленное значение, такое как 3,2,1. В целом, я хочу назначить эти объекты набора запросов для SongSlot описанным выше способом / способом.
Можем ли мы работать с этим также?