I have an Event Model:
class Event(models.Model):
message = models.CharField(max_length=128)
timestamp = models.DateTimeField()
cancels_event = models.ForeignKey('self', on_delete=models.CASCADE)
I'm analysing lots of event messages, but firstly I need to check if the event has been canceled.
Let's say I receive an Event_1, then I receive an Event_2 with Event_2.cancels_event=Event_1, so Event_2 cancels Event_1.
I want to find out, given a subset of Events, which Events from this subset have been canceled.
In SQL I'd use a join with self:
SELECT * FROM Event e1
JOIN Event e2
ON e1.id = e2.cancels_event
But I don't know how to do it within Django ORM.