Kayさんがおっしゃる
"I'm not supposed to eat..."
で正しいです!
または
"I'm supposed to stay away from..."
Stay away from = 〜に近づかない
様々なシチュエーション、距離感で使えますが、特定の食品を摂取しない、つまり触れない近づかない、という意味でこのフレーズも使えます。
あとは、単純に
I can't eat....
〜を食べられません。
I can’t eat thatの方は「食べられない」という意味です。でもアレルギーが原因ということがありえるから、明確に言いたいなら
I’m not supposed to eat thatと言います。
もし軽く言いたいなら、先に「oh, sorry」と言います。
「oh」はいうことを軽くさせる役を果たせます。
sorryは遠慮を伝えるのでいいと思います。