#29588: unique_together constraint not inherited from abstract model in 
migration
file
----------------------------+--------------------------------------
     Reporter:  Ron         |                    Owner:  nobody
         Type:  Bug         |                   Status:  closed
    Component:  Migrations  |                  Version:  2.0
     Severity:  Normal      |               Resolution:  worksforme
     Keywords:              |             Triage Stage:  Unreviewed
    Has patch:  0           |      Needs documentation:  0
  Needs tests:  0           |  Patch needs improvement:  0
Easy pickings:  0           |                    UI/UX:  0
----------------------------+--------------------------------------
Changes (by Tim Graham):

 * status:  new => closed
 * resolution:   => worksforme


Old description:

> I added a `unique_together` constraint on my abstract model like this:
>

> {{{
> class InvoicingDocument(models.Model):
>        field1 = models.IntegerField()
>        field2 = models.IntegerField()
>        class Meta:
>        abstract = True
>        unique_together = (('field1', 'field2'),)
>
> class Invoice(InvoicingDocument):
>        pass
> }}}
>

> When I run `manage.py makemigrations` the migration file does not contain
> any information about adding the index to the model `Invoice`.
>
> When I add it to the child-class, it works.
>
> I guess this is an issue with `django-migrations`?
>
> Best regards
> Ronny

New description:

 I added a `unique_together` constraint on my abstract model like this:


 {{{
 class InvoicingDocument(models.Model):
        field1 = models.IntegerField()
        field2 = models.IntegerField()
        class Meta:
            abstract = True
            unique_together = (('field1', 'field2'),)

 class Invoice(InvoicingDocument):
        pass
 }}}


 When I run `manage.py makemigrations` the migration file does not contain
 any information about adding the index to the model `Invoice`.

 When I add it to the child-class, it works.

 I guess this is an issue with `django-migrations`?

 Best regards
 Ronny

--

Comment:

 Using that model, I see this migration:
 {{{
 # Generated by Django 2.0.8.dev20180716124449 on 2018-07-25 20:51

 from django.db import migrations, models


 class Migration(migrations.Migration):

     initial = True

     dependencies = [
     ]

     operations = [
         migrations.CreateModel(
             name='Invoice',
             fields=[
                 ('id', models.AutoField(auto_created=True,
 primary_key=True, serialize=False, verbose_name='ID')),
                 ('field1', models.IntegerField()),
                 ('field2', models.IntegerField()),
             ],
             options={
                 'abstract': False,
             },
         ),
         migrations.AlterUniqueTogether(
             name='invoice',
             unique_together={('field1', 'field2')},
         ),
     ]
 }}}
 If I've missed something, please be more explicit about the steps to
 reproduce the issue.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/29588#comment:4>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/064.d9e9d326c32b99d802a39c7079557078%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to