django: исключить определенные элементы формы на основе условия

У меня есть некоторые поля формы, которые я хочу включить / исключить в зависимости от того, выполняется ли определенное условие. Я знаю, как включать и исключать элементы формы, но мне трудно это делать, когда я хочу, чтобы элементы отображались в зависимости от результата функции.

Вот моя форма:

class ProfileForm(ModelForm):
    # this_team = get Team instance from team.id passed in
    # how?

    def draft_unlocked(self):
        teams = Team.objects.order_by('total_points')
        count = 0
        for team in teams:
            if team.pk == this_team.pk:
                break
            count += 1

        now = datetime.datetime.now().weekday()
        if now >= count:
            # show driver_one, driver_two, driver_three
        else:
            # do not show driver_one, driver_two, driver_three

class Meta:
    model = Team

Я пытаюсь достичь , исходя из общего количества очков, команда не может сменить пилота до указанного дня. Например, последняя команда в турнирной таблице может добавить / удалить гонщика в понедельник, предпоследняя команда может добавить / удалить гонщика во вторник и так далее ...

Итак, первая проблема - как мне получить команду экземпляр внутри самой формы из идентификатора, который был передан. И как мне включить / исключить на основе результата draft_unlocked ().

Или, может быть, есть лучший способ сделать все это?

Спасибо всем.

6
задан apexdodge 21 May 2011 в 16:47
поделиться