| 12345678910111213141516171819202122 |
- from django.db.models import ManyToOneRel
- __all__ = (
- 'get_related_models',
- )
- def get_related_models(model, ordered=True):
- """
- Return a list of all models which have a ForeignKey to the given model and the name of the field. For example,
- `get_related_models(Tenant)` will return all models which have a ForeignKey relationship to Tenant.
- """
- related_models = [
- (field.related_model, field.remote_field.name)
- for field in model._meta.related_objects
- if type(field) is ManyToOneRel
- ]
- if ordered:
- return sorted(related_models, key=lambda x: x[0]._meta.verbose_name.lower())
- return related_models
|