I have following Django
model code:
status = models.PositiveIntegerField(default = 0b000)
comments_allowed = models.BooleanField(default = True)
Note that the default
parameter can also take a callable object: https://docs.djangoproject.com/en/dev/ref/models/fields/#default. That is certainly a behavior that cannot be reproduced in SQL! So it would not be possible for Django to generate SQL for every possible case. It looks like for the sake of simplicity and consistency they have chosen not to generate SQL for any case.