Как узнать количество полей "многие ко многим" и обратную зависимость случайной модели?
У меня есть случайная модель:
class Model(models.Model):
      other_field1 = models.SomeField(...)
      m2m_field1 = models.ManyToManyField(...)
      other_field2 = models.SomeField(...)
      m2m_field2 = models.ManyToManyField(...)
      other_field3 = models.SomeField(...)
Я хочу узнать количество полей, соответствующих отношению многие ко многим, и количество других полей.
В приведенном выше примере у меня есть 2 поля с отношением "многие ко многим" и 3 других поля.
EDIT
Как рассчитать количество обратных связей?
class OtherModel1(models.Model):
      field = models.ForeginKey(Model)
class OtherModel2(models.Model):
      field = models.ForeginKey(Model)
                
 Вы можете работать с опцией ._meta, и таким образом определить количество элементов с:
from django.db.models import ManyToManyField
from django.db.models.fields.reverse_related import ForeignObjectRel
number_of_m2m_fields = sum(
    isinstance(m, ManyToManyField) for m in Model._meta.get_fields()
)
number_of_other_fields = sum(
    not isinstance(m, ManyToManyField) for m in Model._meta.get_fields()
)
number_of_reverse_relations = sum(
    isinstance(mto, ForeignObjectRel) for mto in Model._meta.get_fields()
)