You could do the party in the park for the kids (and maybe just the grandparents as well

.....and then send a message or email invite to everyone else to say we are meeting at (name of place) for a couple of drinks and a casual lunch to celebrate DD's 2nd birthday. If you would like to come and join us and share in some cake (that part is optional) then we will be there between (start and end time).

That way they are all buying their drinks and meal, if they want one or just drinks or just come for cake and you arent cartering or paying for heaps of people. If you go to a pub or RSL club that has an outdoor area (most have play areas for kids as well nowadays) you can just book a big table and see who turns up. If noone turns up well you still had a bday lunch for DD's bday and they cant be offended that they werent included in celebrations IYKWIM.