Мне нужно установить значение поля, не передаваемое конструктору формы Django.
I иметь такую модель и форму:
class Message(models.Model):
created = models.DateTimeField()
text = models.CharField(max_length=200, blank=True, null=True)
active = models.BooleanField(default=False)
class MessageForm(forms.ModelForm):
class Meta:
model = Message
exclude = ('created', 'active')
def clean(self):
# check if user is blocked
if user.is_admin():
self.cleaned_data['active'] = True
return self.cleaned_data
Ожидаемый : если текущий пользователь является администратором - мне нужно автоматически установить активное сообщение. Пользователь не должен передавать этот параметр по форме.
Фактическое : Я вижу, что сохраненное сообщение всегда имеет флаг «Ложь» (я могу удалить условие, и в этом случае я также вижу, что сообщение неактивно).
Пожалуйста, помогите мне понять, как мне установить этот флаг « active » в методе clean () .