Search code examples
djangomany-to-manymetamodel

How to get Class Model name from ManyToManyField in Django


I need to get Class Model name from #django.db.models.fields.related.ManyToManyField object.For example:

class Source(models.Model):
    groups = models.ManyToManyField(Group)

    def generated_sql(self):
        print [f.name for f in self._meta.many_to_many]

        #tehere I need to get Class Model name for f, in this case will be: Group

Thanks in advance


Solution

  • groups = models.ManyToManyField(Group)
    
    def generated_sql(self):
        print [(f.name, f.related.parent_model) for f in self._meta.many_to_many]
    

    iPython ftw