Присвоение значений в определенном порядке - PullRequest
0 голосов
/ 01 мая 2020

У меня есть 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 описанным выше способом / способом.

Можем ли мы работать с этим также?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...