How do I name Django ManyToMany object relations in Django admin?

Viewed 32

Is there a way to give the relations their name instead of calling them "object-n" like shown below?

enter image description here

Here is the code for the two models in question:

class jobTag(models.Model):
    Tag = models.CharField(max_length=15)

    def __str__(self):
            return self.Tag

class job(models.Model):
    Company_name = models.CharField(max_length=200, null=True, blank= True)
    Position = models.CharField(max_length=200, null=False, blank=False)
    Type = models.ForeignKey(jobType, default=" ",verbose_name="Type", on_delete=models.SET_DEFAULT)
    Industry = models.ForeignKey(jobIndustry, default=" ", verbose_name="Industry", on_delete=models.SET_DEFAULT)
    Location = models.ForeignKey(jobLocation, default=" ", verbose_name="Location", on_delete=models.SET_DEFAULT)
    Role_description = tinymce_models.HTMLField(default="")
    Role_requirements = tinymce_models.HTMLField(default="")
    Role_duties = tinymce_models.HTMLField(default="")
    Special_benefits = tinymce_models.HTMLField(default="")

    Date_posted = models.DateTimeField(auto_now_add=True)

    tags = models.ManyToManyField('jobTag', related_name="job-tags+", blank=True)

    def time_posted(self):
        return humanize.naturaltime(self.Date_posted)

    def __str__(self):
        return self.Position

    class Meta:
        verbose_name_plural = "Jobs"

UPDATE:

I tried adding a proxy through-table in models.py but it still doesn't solve the problem. Here:

class jobjobTagProxy(job.tags.through):
    class Meta:
        proxy = True

    def __str__(self):
        return self.job.Position + ' // ' + self.tags.Tag

What am I doing wrong?

0 Answers
Related