Django не обнаруживает изменений в моей модели

У меня есть модель Orders, в которой раньше не было поля slug. Поэтому я решил добавить в нее поле slug. Но когда я запускаю команду makemigrations, она говорит "Изменения не обнаружены". Я пытался вручную создать миграцию и запустить ее, но это не повлияло на мою базу данных. Да, я проверил в настройках, приложение там зарегистрировано. Модель:

class Orders(models.Model):
    customer = models.ForeignKey('contractors.Customers',
                                 models.DO_NOTHING, blank=True, null=True)
    slug = models.SlugField(max_length=150, blank=True)
    employee = models.ForeignKey('employees.Employees',
                                 models.DO_NOTHING, blank=True, null=True)
    order_date = models.DateField(blank=True, null=True, auto_now=True)
    required_date = models.DateField(blank=True, null=True)
    shipped_date = models.DateField(blank=True, null=True)
    ship_via = models.ForeignKey('contractors.Shippers',
                                 models.DO_NOTHING, db_column='ship_via',
                                 blank=True, null=True)
    freight = models.FloatField(blank=True, null=True)
    ship_name = models.CharField(max_length=40, blank=True, null=True)
    ship_address = models.CharField(max_length=60, blank=True, null=True)
    ship_city = models.CharField(max_length=15, blank=True, null=True)
    ship_region = models.CharField(max_length=15, blank=True, null=True)
    ship_postal_code = models.CharField(max_length=10, blank=True, null=True)
    ship_country = models.CharField(max_length=15, blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'orders'

    def save(self, *args, **kwargs):
        if not self.slug:
            self.slug = slugify(self.customer + "-" + str(self.order_date))
        super(Orders, self).save(*args, **kwargs)

    def get_absolute_url(self):
        return u'/orders/%d' % self.pk

    def __str__(self):
        return f"{self.customer} {self.order_date}"

Моя попытка вручную создать миграцию:

# Generated by Django 3.2.7 on 2021-11-10 13:47

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('orders', '0008_alter_orderdetails_options'),
    ]

    operations = [
        migrations.AddField(
            model_name='orders',
            name='slug',
            field=models.SlugField(max_length=150, blank=True),
            preserve_default=False,
        ),
    ]

Вы установили managed = False в вашей модели Meta. Django не будет управлять моделью за вас, см. здесь. Установите значение True, если вы хотите, чтобы Django управлял миграциями за вас.

проблема

class Meta:
        managed = False
        db_table = 'orders'

решение

class Meta:
   db_table = 'orders'
Вернуться на верх