utils.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:nav 作者: UNINETT 项目源码 文件源码
def get_verbose_name(model, lookup):
    """Verbose name introspection of ORM models.
       Parameters:
         - model: the django model
         - lookup: name of the field to find verbose name of.

       Foreign key lookups is supported, ie. "othermodel__otherfield"
    """
    if '__' not in lookup:
        return model._meta.get_field(lookup).verbose_name

    foreign_key, lookup = lookup.split('__', 1)
    try:
        foreign_model = model._meta.get_field(foreign_key).rel.to
        return get_verbose_name(foreign_model, lookup)
    except FieldDoesNotExist:
        pass

    related = model._meta.get_all_related_objects()
    related += model._meta.get_all_related_many_to_many_objects()
    for obj in related:
        if obj.get_accessor_name() == foreign_key:
            return get_verbose_name(obj.model, lookup)

    raise FieldDoesNotExist
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号