#30152: MySQL: "Cannot change column 'id': used in a foreign key constraint" 
when
altering pk of model with ForeignKey to self
-------------------------------+-------------------------------------
     Reporter:  Carsten Fuchs  |                    Owner:  nobody
         Type:  Bug            |                   Status:  closed
    Component:  Migrations     |                  Version:  2.2
     Severity:  Normal         |               Resolution:  needsinfo
     Keywords:  mysql          |             Triage Stage:  Accepted
    Has patch:  0              |      Needs documentation:  0
  Needs tests:  0              |  Patch needs improvement:  0
Easy pickings:  0              |                    UI/UX:  0
-------------------------------+-------------------------------------

Comment (by Carsten Fuchs):

 Ah, slowly I get the hang of working with migrations in this way!  :-)
 Sorry about the extra fields. Also the meta `db_table` doesn't contribute.
 The minimum models.py file I've managed to find is:

 {{{
 #!python
 class Kostenstelle(models.Model):
     # id     = models.AutoField(primary_key=True)
     id     = models.IntegerField(primary_key=True, help_text="...")
     parent = models.ForeignKey('self', models.PROTECT, null=True,
 blank=True)


 class KalenderEintrag(models.Model):
     id  = models.AutoField(primary_key=True)
     kst = models.ManyToManyField(Kostenstelle, blank=True)
 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/30152#comment:5>
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/066.0ef3bfeeccb2cba40829fa379acaf42d%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to