Получение ложных булевых значений по одному из списка

Я создаю приложение для блога, в котором я создал около 10+ булеанов, и я пытаюсь отслеживать булеаны в соответствии со списком.

То есть, предположим, есть 5 Booleans и все они находятся в sequence, например, `[boolean_1, boolean_2, boolean_3, boolean_4, boolean_5] и все они ложные.

Тогда я пытаюсь получить первое булево на странице, пока (превращение булева в True может занять несколько дней) оно не станет True и тогда булево_2 будет видно на странице булево_1 будет удалено после True.

Затем я пытаюсь получить булевы, которые являются False один за другим

Но я понятия не имею, как я могу отфильтровать Booleans, которые False один за другим.

models.py

class Profile(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    boolean_1 = models.BooleanField(default=False)
    boolean_2 = models.BooleanField(default=False)
    boolean_3 = models.BooleanField(default=False)
    boolean_4 = models.BooleanField(default=False)
    boolean_5 = models.BooleanField(default=False)
    boolean_6 = models.BooleanField(default=False)

views.py

def page(request):
    listOfBooleans = [request.user.profile.boolean_1, request.user.profile.boolean_2, request.user.profile.boolean_3]

    get_first_boolean = listOfBooleans(0)

    context = {'listOfBooleans':listOfBooleans}
    return render(request, 'page.html', context)

Я пробовал использовать compress :-

from itertools import compress

list_num = [1, 2, 3, 4]
profile_booleans = [request.user.profile.boolean_1, request.user.profile.boolean_2, request.user.profile.boolean_3]
list(compress(list_num, profile_booleans))

Но это :-

  • Возвращается True вместо False

  • Я не могу получить доступ к первому из него, если я пытаюсь через (0), то он показывает 'list' object is not callable.

Я пробовал много раз, но ничего не получается.

Любая помощь будет очень признательна. Заранее благодарю.

Вернуться на верх