У меня есть модель, которая выглядит примерно так:
class DooDad(models.Model):
doo_dad_dogue = models.BooleanField(default=True)
Проблема в том, что по умолчанию нужно манипулировать... вещами, которые не имеют отношения к этому вопросу. Если бы я создавал форму, которая создает объект, решение было бы тривиальным. Однако я все еще использую форму django по умолчанию для создания этих вещей, и я бы предпочел оставить ее такой.
Я попробовал очевидное:
class DooDad(models.Model):
doo_dad_dogue = models.BooleanField(default=True)
def __init__(self, *args, **kwargs):
super(DooDad, self).__init__(*args, **kwargs)
self.doo_dad_dogue = False
...который, я подозреваю, будет иметь ужасные побочные эффекты, но с ним стоило поэкспериментировать. Форма по-прежнему появляется с установленным флажком.
РЕДАКТИРОВАТЬ: я должен был упомянуть, что это Django 1.9
Если невозможно продолжать использовать форму создания модели по умолчанию, есть ли что-то необычное, что мне нужно сделать, чтобы создать форму ModelForm, которая влияет только на CREATE, а не на EDIT?