Как насчет упаковки initial в функцию или лямбду, чтобы значение initial откладывалось до создания формы. Что-то вроде:
class CommentForm(forms.Form):
name = forms.CharField(initial=lambda : self.action) # or more complex logic
action = forms.ChoiceField(...)