def check_reverse_relation(model, related_name):
"""
Helper method to check if a given model related_name pair return a
reverse relation instance that is associated by a ForeignKey.
model: subclass of django.db.models.Model
related_name: str
"""
rel = get_reverse_relation(model, related_name)
if rel is None:
raise NotImplementedError(
'{} does not have a reverse relation by the name "{}"'.format(
model.__name__, related_name
)
)
elif not isinstance(rel, ManyToOneRel):
raise TypeError(
'The reverse relation "{}" on {}.{} is not a ForeignKey.'
'Timeseries only works with ForeignKey reverse relations.'.format(
related_name, rel.field.model.__name__, rel.field.name
)
)
return rel
评论列表
文章目录