it-source

장고 모델:부울 필드의 기본값이 Maria에서 설정되지 않았습니다.DB

criticalcode 2023. 10. 18. 22:12
반응형

장고 모델:부울 필드의 기본값이 Maria에서 설정되지 않았습니다.DB

장고: 11.1 마리아DB: 10.2.6

models.py 에서 부울 필드를 다음과 같이 설정했습니다.

class myClassName(models.Model):

    class Meta:
        db_table = 'mytablename'
        verbose_name = 'name'
        verbose_name_plural = 'names'
        ordering = ['myid']

(several fields defined here...)

myField = models.BooleanField(verbose_name='name', default=True, help_text='some help here')                                           
def __str__(self):
    return str(self.myid)

그러면 '이민'과 '이민'을 합니다.

이후 MariaDB에서 잘 정의된 테이블을 볼 수 있지만 BooleanFields에는 기본값이 설정되어 있지 않습니다.필드는 tinyint(1), Default= null로 정의됩니다.

데이터베이스의 기본값을 올바르게 구성하려면 필드 정의에서 다른 값을 설정해야 합니까?

업데이트 11/07: char 필드에도 같은 문제가 있습니다.기본값은 MariaDB 테이블에서 Null로 설정됩니다.기본값은 수동으로 변경할 수 있는데 왜 장고가 설정해주지 않는지 모르겠습니다.

class Migration(migrations.Migration):

    dependencies = [
        ('xyz', '040_something'),
    ]

    operations = [
        migrations.AddField(
            model_name='mymodel',
            name='myfield',
            field=models.CharField(blank=True, default='any', help_text='Some help', max_length=255, verbose_name='myfield_verbose'),
        ),
    ]

언급URL : https://stackoverflow.com/questions/47148810/django-models-the-default-value-for-booleanfield-did-not-get-set-in-mariadb

반응형