Opened 19 years ago

Last modified 12 years ago

#154 closed defect

Can't delete object with ManytoMany Relationship — at Initial Version

Reported by: Dobbes Owned by: Adrian Holovaty
Component: contrib.admin Version:
Severity: normal Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

If you have an object with a manytomany relationship you can't delete it within the admin interface. As it spits out this error.
There's been an error:

Traceback (most recent call last):

File "/home/punteney/dobbes.com/django/core/handlers/modpython.py", line 214, in get_response

return callback(request, param_dict)

File "/home/punteney/dobbes.com/django/views/admin/main.py", line 1057, in delete_stage

obj.delete()

File "/home/punteney/dobbes.com/django/core/meta.py", line 57, in _curried

return args[0](*(args[1:]+moreargs), dict(kwargs.items() + morekwargs.items()))

File "/home/punteney/dobbes.com/django/core/meta.py", line 760, in method_delete

cursor.execute("DELETE FROM %s WHERE %s=%%s" % (opts.db_table, opts.pk.name), [getattr(self, opts.pk.name)])

File "/home/punteney/dobbes.com/django/core/db/base.py", line 10, in execute

result = self.cursor.execute(sql, params)

IntegrityError: ERROR: update or delete on "blog_entries" violates foreign key constraint "$1" on "blog_entries_categories"
DETAIL: Key (id)=(2) is still referenced from table "blog_entries_categories".

DELETE FROM blog_entries WHERE id=2

This is from trying to delete a blog entry that is tied to the categories. The line in the Entry model is:

meta.ManyToManyField(Category, filter_interface=meta.HORIZONTAL),

I can't remove the category linking before I delete it as it is a required field so it comes back with an error message saying that the field is required.

Looks like this ticket #13 may touch on this as well, as one of it's bullet points.

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top