This one isn't so easy...

If one player calls you get enough equity if he has one pair without Ace kicker.

You're behind against 2pair, set and any pair with A kicker (I presume they don't call you with air here).

If two players call you, you get enough equity if they both would have 2 pair.

You're already behind if one of them has a set.

All these calculations are based on the fact that you would have 9 outs for the flushdraw, so if they don't hold any diamond.

So it seems to be a fold after all, no matter how tempting this situation might look like

About limping these hands, you also play them for trips/2pair value, not only for the flush. And the flushdraw is only good when your odds are good, which are also based on implied odds. And in this case you don't have any implied odds because you're already all-in on the flop.