Opened 8 years ago
Last modified 8 years ago
#28141 closed Uncategorized
When have null=True inside ForeignKey, Django don't to do CASCADE Operation even passing on_delete=models.CASCADE. [using PostgreSQL] — at Version 2
Reported by: | mateuspadua | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 1.10 |
Severity: | Normal | Keywords: | ForeignKey null True PostgreSQL |
Cc: | mateuspaduaweb@… | Triage Stage: | Unreviewed |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
Example:
from cms.models import Page class OfferingPlugin(models.Model): image = VersatileImageField(upload_to=unique_upload, ppoi_field='ppoi') ppoi = PPOIField() title = models.CharField(max_length=50) subtitle = models.CharField(max_length=140) link_copy = models.CharField(max_length=20) link_address = models.ForeignKey(Page, blank=True, null=True, on_delete=models.CASCADE) ** -> dont work because has null=True** .... page = Page.objecs.first()
If I to try delete a Page instance, for example page.delete() the error bellow will occur:
.....
IntegrityError: insert or update on table "offering_offeringplugin" violates foreign key constraint "offering_offering_cmsplugin_ptr_id_9a9e9998_fk_cms_cmsplugin_id"
DETAIL: Key (id)=(10) is still referenced from table "offering_offeringplugin".
Change History (2)
comment:1 by , 8 years ago
Description: | modified (diff) |
---|
comment:2 by , 8 years ago
Description: | modified (diff) |
---|
Note:
See TracTickets
for help on using tickets.