How do I add StackedInlines to another model when the model for the inlines has a foreignkey in it

I have created models for a an election project. I want the polling agent to collect and submit results from different parties. I want to add the VoteInline to the ElectionResult models so that the PollingAgent can fill in the result of the different party's and the votes scored.

I have created the following models and admin but I am getting the following error. How do I solve this?

class Election(models.Model):
     election_category = models.CharField(max_length=255)
     start_date = models.DateTimeField()
     end_date = models.DateTimeField()

class PoliticalParty(models.Model):
     name = models.CharField(max_length=200)
     election = models.ForeignKey(Election, on_delete=models.CASCADE)

class Candidate(models.Model):
     fullname = models.CharField(max_length=120)
     party = models.ForeignKey(PoliticalParty, on_delete=models.CASCADE)
     bio = models.TextField(blank=True, null=True)

class PollingAgent(models.Model):
     candidate = models.ForeignKey(Candidate, on_delete=models.CASCADE)
     election = models.ForeignKey(Election, on_delete=models.CASCADE)
     fullname = models.CharField(max_length=120)
     phone = models.IntegerField()
     email = models.EmailField()

class Vote(models.Model):
     party = models.ForeignKey(Candidate, on_delete=models.CASCADE)
     votes= models.IntegerField()

class ElectionResult(models.Model):
     polling_agent = models.ForeignKey(PollingAgent, on_delete=models.CASCADE)
     votes = models.ForeignKey(Vote, on_delete=models.CASCADE)
     uploaded_on = models.DateTimeField(auto_now_add=True)


class VoteInline(admin.StackedInline):
     model = Vote
     extra = 0

admin.site.register(Vote)

@admin.register(ElectionResult)
class ElectionResultAdmin(admin.ModelAdmin):
     inlines = [
         VoteInline,
     ]

ERRORS: <class 'dashboard.admin.VoteInline'>: (admin.E202) fk_name 'party' is not a ForeignKey to 'dashboard.ElectionResult'.

Back to Top