Opened 2 years ago
Last modified 9 months ago
#34151 assigned Bug
django.db.migrations doesn't update *_id column data type in related table when changing pk type of linked models. — at Initial Version
Reported by: | STANISLAV LEPEKHOV | Owned by: | nobody |
---|---|---|---|
Component: | Migrations | Version: | 4.1 |
Severity: | Normal | Keywords: | migrations pk uuid relation |
Cc: | Sarah Abderemane | Triage Stage: | Accepted |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Hello!
When i changed this models:
class StoreChain(models.Model): places = models.ManyToManyField(Place, blank=True) class Place(models.Model): uid = models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, unique=True)
to this edition (set pk with uuid type):
class StoreChain(models.Model): uid = models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, unique=True) places = models.ManyToManyField(Place, blank=True) class Place(models.Model): uid = models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, unique=True)
Django creates a migration file that affects only the model tables, while the relationship table remains unchanged, which will cause an error, because the data type of the _ID fields in it also needs to be changed:
Note:
See TracTickets
for help on using tickets.