Reputation:
I have an Orders model, in which I didn't have slug field before. So I decided to add a slug field to it. But when I run makemigrations command it says 'No changes detected'. I've tried to manually create migration and run it, but it didn't affect my database. Yes, I did check in settings, app is registered there. Model:
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}"
My attempt to manually create migration:
# 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,
),
]
Upvotes: 0
Views: 999
Reputation: 641
problem
class Meta:
managed = False
db_table = 'orders'
solution
class Meta:
db_table = 'orders'
Upvotes: 1