1

I am making a database app in flask using psycopg2. Currently I am working on a delete function but this error is occuring. I understand I cant just delete cross reference, tho how do I do that?

Function:

def delete_meeting(idmeeting):
    global cursor
    global connection
    cursor.execute("DELETE FROM meeting WHERE id_meeting=%s", [idmeeting])
    connection.commit()
    return redirect(url_for('meetings'))

HTML:

<form action="{{ url_for('delete_meeting', idmeeting=m['id_meeting']) }}" method=post>
        <input type="hidden" name="meeting_id" value="{{ loop.revindex }}">
        <input class="btn btn-danger" type="submit" value="Delete" />
</form>

Error:

psycopg2.errors.ForeignKeyViolation: update or delete on table "meeting" violates foreign key constraint "person_meeting_id_meeting_fkey" on table "person_meeting"
DETAIL: Key (id_meeting)=(4) is still referenced from table "person_meeting".
Petr Hanzl
  • 11
  • 2
  • 1
    You need to delete the related record(s) from `person_meeting` before you can delete the record in `meeting`. Alternative, you can add a delete cascade to the foreign key - see [this answer](https://stackoverflow.com/a/25499662/5320906) for more information. – snakecharmerb Jun 29 '20 at 15:57

0 Answers0