Can I Make a foreignKey to same model in django?
Yea you can do that, make the ForeignKey attribute a string:
class Task(models.Model):
title = models.CharField()
relates_to = ForeignKey(to='Task')
In depth, you can also cross reference an app's model by using the dot notation, e.g.
class Task(models.Model):
title = models.CharField()
relates_to = ForeignKey(to='<app_name>.Task') # e.g. 'auth.User'
class Task(models.Model):
title = models.CharField()
relates_to = models.ForeignKey('self')
https://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkey