我在这里有一个简单的项目,有两个模型,两个模型都包含一个名为 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,请参见图片:
现在其他字段是正确的,谁能告诉我为什么会这样吗?
编辑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)),
],
),
继续
答案 0 :(得分:2)
删除您的应用/迁移中的所有文件,除了 init .py
然后运行以下两个命令:
python manage.py makemigrations
python manage.py migrate
更新:
如果这不起作用,请从MySQL数据库中删除所有表,并让Django使用python manage.py makemigrations
和python manage.py migrate