I have added a unique together (badge_id, speech_id, badge_type) however I can still add data with same information, Attaching my schema as well

I can explain one thing.
unique constrain was applied and those column relation was DO_NOTHING and then in next migrations I updated it to CASCADE not sure if that is causing this misleading behavior of adding same rows.
I double check if my django migrations were successful by extracting schema info from mysql, attached image.