#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.