How to get events which can be postponed for a given date from a table with change log and a table for event in Django?
If there is no other use of EventLog table, just put entries in Entries table and put a date of execution in that. If the date is postponed , update the date of execution in Event table itself.
This also assumes that you dont need the previous dates( as your requirement says that you just need to show the events happening on that day)
I am stuck in a scenario where I am making an API that returns events in the given a month and year combination.
The Database structure:
Event - has basic details of an event.
EventLog - has a foreignkey to the event, a from_date and a to_date. 
When Events are created, an entry is made to both Event table and EventLog table (with from_date set as null).
When an Event is postponed an entry is made to EventLog with previous date and current date.
Now given a date I want to show events occurring on that date as well as the postponed events with latest dates that were supposed to happen on that day.
How should I go about it without making too many calls to the database ?