Django-Charfield在我的BD中创建了一个项目

时间:2019-04-12 13:33:08

标签: mysql django python-3.x

我在这里有一个简单的项目,有两个模型,两个模型都包含一个名为 telefone 的属性。

telefone 是葡萄牙语中的电话

代码

class Medico (models.Model):
    nome = models.CharField(max_length=50)
    endereco = models.CharField(max_length=60)
    cpf = models.CharField(unique=True, max_length=11)
    telefone = models.CharField(max_length=15)
    especialidade = models.ForeignKey(Especialidade, on_delete=models.CASCADE)

    def __str__(self):
        return self.nome

class Paciente (models.Model):
    nome = models.CharField(max_length=50)
    endereco = models.CharField(max_length=60)
    cpf = models.CharField(unique=True, max_length=11)
    telefone = models.CharField(max_length=15)

    def __str__(self):
        return self.nome

我进行了makemigrations和迁移,一切按预期进行,我使用MySQL作为BD。

但是由于某些原因,我的BD中患者表和医疗表的电话字段都为int int,请参见图片:

enter image description here

现在其他字段是正确的,谁能告诉我为什么会这样吗?

编辑01:

migrations.CreateModel(
            name='Paciente',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nome', models.CharField(max_length=50)),
                ('endereco', models.CharField(max_length=60)),
                ('cpf', models.CharField(max_length=11, unique=True)),
                ('telefone', models.CharField(max_length=15)),
            ],
        ),

enter image description here

继续

enter image description here

1 个答案:

答案 0 :(得分:2)

删除您的应用/迁移中的所有文件,除了 init .py

然后运行以下两个命令:

python manage.py makemigrations

python manage.py migrate

更新:

如果这不起作用,请从MySQL数据库中删除所有表,并让Django使用python manage.py makemigrationspython manage.py migrate

重新创建它们。