1
resposta

Makemigrations não detecta todos os campos do model.

Criei um projeto Python/Django e quando eu gero um migrations com python manage.py makemigrations, ele detecta apenas e campos do meu modelo. Não sei o que possa estar ocorrendo.

models.py

class Pedido(models.Model):
    #id = models.IntegerField(primary_key=True),
    data_emissao = models.TimeField(null=False),
    codigo_smart = models.CharField(max_length=20, null=False),
    id_fabricante = models.IntegerField(null=False),
    nome_fabricante = models.CharField(max_length=100, null=False),
    codigo_cliente = models.CharField(max_length=20, null=False),
    nome_cliente = models.CharField(max_length=100, null=False),
    cpf_cnpj_cliente = models.CharField(max_length=20, null=False),
    cep_cliente = models.CharField(max_length=20, null=False),
    endereco_cliente = models.CharField(max_length=200, null=False),
    numero_cliente = models.CharField(max_length=20, null=False),
    complemento_cliente = models.CharField(max_length=100, null=False),
    bairro_cliente = models.CharField(max_length=100, null=False),
    cidade_cliente = models.CharField(max_length=100, null=False),
    estado_cliente = models.CharField(max_length=100, null=False),
    ibge_cliente = models.CharField(max_length=20, null=False),
    codigo_transportadora = models.CharField(max_length=10, null=True),
    nome_transportadora = models.CharField(max_length=100, null=True),
    valor_frete = models.DecimalField(max_digits=15, decimal_places=6, null=False),
    total_produtos = models.DecimalField(max_digits=15, decimal_places=6, null=False),
    total_pedido = models.DecimalField(max_digits=15, decimal_places=6, null=False),
    observacao =models.TextField(null=True),
    descontos_total = models.DecimalField(max_digits=15, decimal_places=6, null=False),
    id_status = models.IntegerField(null=False),
    descricao_status = models.CharField(max_length=100, null=False),
    codigo_rastreamento = models.CharField(max_length=50, null=True),
    url_pdf_nfe = models.TextField(null=False),
    url_xml_nfe = models.TextField(null=False),
    forma_pagamento = models.CharField(max_length=100, null=False)


    class Meta:
        db_table = 'pedido'

Migrations

# Generated by Django 3.2.5 on 2021-07-02 12:15

from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Pedido',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('forma_pagamento', models.CharField(max_length=100)),
            ],
            options={
                'db_table': 'pedido',
            },
        ),
    ]

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Olá, Mixtel, como vai? Tive uma situação semelhante no meu projeto django. Consegui "resetar" minhas migrations dentro da pasta do app criado pelo django.

Durante minha pesquisa encontrei formas informando manualmente os campos que deveriam ser migrados porém não funcionaram pra mim.

Após resetar o arquivo (deletar o arquivo init), executei o comando "migrate" validando que não existiam migrações pendentes e iniciei o procesos "makemigrations" e "migrate" com sucesso.