当前位置: 首页>>代码示例>>Python>>正文


Python Report.creator方法代码示例

本文整理汇总了Python中models.Report.creator方法的典型用法代码示例。如果您正苦于以下问题:Python Report.creator方法的具体用法?Python Report.creator怎么用?Python Report.creator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在models.Report的用法示例。


在下文中一共展示了Report.creator方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: report_add

# 需要导入模块: from models import Report [as 别名]
# 或者: from models.Report import creator [as 别名]
def report_add(request, response_format='html'):
    "Create new report based on user choice"
    if 'report' in request.POST:
        report_id = request.POST['report']
        return HttpResponseRedirect(reverse('reports_report_edit', args=[report_id]))
    # FIRST TIME AN OBJECT IS CHOSEN
    if 'choice' in request.POST:
        form = None
        object = request.POST['choice']
        object = str(
            object.replace("{'object_type': u'", '').replace("'}", ''))
        full_object = object
        object = object.split('.', 3)

        module_name = object[0] + '.' + object[1] + '.' + object[2]
        import_name = object[3]

        module = __import__(
            module_name, globals(), locals(), [import_name], -1)
        classobj = getattr(module, import_name)

        obj = classobj()
        names = obj.get_field_names()

        fields = []
        for name in names:
            fields.append(Field(name=name, display=True))

        model = Model(full_object, fields)

        report = Report()
        report.name = "Untitled {0!s} Report".format((obj._meta.object_name))
        report.model = dumps(model)
        report.creator = request.user.profile
        report.save()

        return HttpResponseRedirect(reverse('reports_report_edit', args=[report.id]))

    # Initial Object Type Choice
    user_modules = [mod.name for mod in request.user.profile.get_perspective().get_modules()]
    modules = [mod.name for mod in Module.objects.all()]

    query = Q(object_type__contains="core")
    for module in modules:
        if module not in user_modules:
            query = query | Q(object_type__contains=module)

    object_types = list(Object.objects.all().exclude(query).values(
        'object_type').distinct().order_by('object_type'))

    object_names = []
    for object_type in object_types:
        module_name = _get_module_name(object_type['object_type'])
        human_type = Object.objects.filter(
            object_type=object_type['object_type'])[0].get_human_type()

        object_names.append("{0!s}: {1!s}".format(module_name, human_type))

    form = ObjChoiceForm(request.user, object_types=object_types, object_names=object_names)

    return render_to_response('reports/report_add', {'form': form}, context_instance=RequestContext(request),
                              response_format=response_format)
开发者ID:tovmeod,项目名称:anaf,代码行数:64,代码来源:views.py


注:本文中的models.Report.creator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。