用于自定义报表的django管理工具
django_qbe的Python项目详细描述
Django QueryByExample(QBE)的查询
===================
:概要:用于获取自定义报表的管理工具。
Django QBE的目标是提供一种辅助和交互式的方式,使不需要技术知识(或最少)的复杂查询能够获取自定义报表
来自Django模型的对象。
基于IBM®的QBE方案,Django QBE旨在消除Django QuerySets对象的
限制,并使用
下一个SQL的全部扩展能力。
kage index(pypi_u)和easy_u install脚本::
$easy_u install django_qbe
或通过pip::
$pip install django_qbe
,但您也可以使用git::
$git clone git://github.com/versae/qbe.git
$cp-r qbe/django下载"django_qbe"目录_ qbe/path/to/your/project
url(r'^qbe/',include('django_qbe.url'),
处理器
)
有关详细信息,请参阅"关于静态文件的django文档"。
然后,您可以访问http://host:port/qbe
但是,您可以从管理页面添加链接,更改管理员网站的管理索引模板:
class adminsite(admin.adminsite):
index_template="qbe_index.html"
下一个javascript::
<;script type="text/javascript" src="{%url qbe_js%}">;
saved querys
^^^^^^^^^^^^^^^^^^
如果您有选择地想在数据库中存储查询,请随意安装还包括的应用程序``django qbe.savedquerys``:
已安装的"django"应用程序=(
[…]django内置应用程序
"django"qbe,
"django"qbe.savedquerys",
[…]任何其他应用程序
)
,然后运行"syncdb"或可选的"south"的"migrate"管理命令
创建"savedquery保存的查询``表。
之后,将有一个新的选项将查询保存在模型实例中,并有一个管理界面来浏览保存的查询,或者使用命令``qbe_export``从命令行直接执行:
$python manage.py help qbe_export
$python manage.py qbe_export<;query_hash>;
$python manage.py qbe_export<;query_hash>;--output test.csv
$python manage.py qbe_export<;query_hash>;--output test.xls--format xls
$python manage.py qbe_export<;query_hash>;--output test.xls--format xls--db alias default
…_南:http://south.readthedocs.org/
settings
--
>下一行显示de available settings及其默认值。
要在结果中添加管理URL的管理模块名称::
如果与通常的*djang不同,请设置自己的管理站点o.contrib.admin.site*:
>控制具有qbe访问权限的用户的功能:
查询生成器表单的一些选项::
qbe_aliases=false模型字段
qbe_group_by=false;它允许在查询中按分组
qbe_show_row_number=true;它禁用结果中的行数
qbe格式导出文件的路径,以便添加自定义导出格式::
qbe格式tsu export="qbe_formats"
自定义qbe运算符的路径,条件是:
custom operators
--
仅当您知道自己在做什么并承担风险时才使用自定义运算符!
如果需要定义自定义运算符,则需要在
项目根目录中的文件"qbe-operators.py"中创建一个扩展
"django-qbe.operators.customoperator"的新类:
从django导入日期时间
从django.utils导入时区
从django-qbe.operators导入ORT customoperator
Class since days ago(customoperator):
slug='从几天前开始',必需且必须是唯一的
label='从几天前开始',必需
如果len(self.params):
返回self.params
now=timezone.now()
today=now.replace(hour=0,minute=0,second=0,microsecond=0)
tomorrow=today+datetime.timedelta(days=1)
date since=today-datetime.timedelta(days=int(self.value))
operator="gt"
lookup_since=self._get_lookup(operator,str(date_since))
lookup_until=self._get_lookup(operator,str(tomorrow))
self.params.append(lookup_since)
self.params.append(lookup_until)(lookup_until)
def get_wheres(self):
如果len(self.wheres):
返回self.wheres
lookup_cast=self._db_operations.lookup_cast
对于["gte","lt"]:
db_operator=self._db_operator s[operator]
self.wheres.append(u"%s%s"%"(
lookup_cast(operator)%self.db_field,
db_operator)
return self.where
自定义运算符必须有两个属性``slug``和``label``才能在条件下拉列表中显示。
`` get-params``和'get-wheres``方法必须返回一个iterable实例
(例如list),否则它将被转换为一个列表。
如果不想将其写入``models.py``中,请确保它是在运行时计算的一个文件(例如``models.py`
或``以注册您的自定义运算符。
…_问:http://www.google.com/url?sa=t&source=web&ct=res&cd=2&ved=0cb4qfjab&url=http%3a%2f%2fpages.cs.wisc.edu%2f~dbbook%2fopenaccess%2f3dedition%2fqbe.pdf&ei=ud5s5wsbyp5-qb-18i8ca&usg=afqjcnhmv-pua285zhwt8devuzfj2gfyka&sig2=-stedwjhntaixh2iffsaw
。_ pypi:http://pypi.python.org/pypi/django_qbe/
。_静态文件:http://docs.djangoproject.com/en/dev/howto/static-files/
===================
:概要:用于获取自定义报表的管理工具。
Django QBE的目标是提供一种辅助和交互式的方式,使不需要技术知识(或最少)的复杂查询能够获取自定义报表
来自Django模型的对象。
基于IBM®的QBE方案,Django QBE旨在消除Django QuerySets对象的
限制,并使用
下一个SQL的全部扩展能力。
kage index(pypi_u)和easy_u install脚本::
$easy_u install django_qbe
或通过pip::
$pip install django_qbe
,但您也可以使用git::
$git clone git://github.com/versae/qbe.git
$cp-r qbe/django下载"django_qbe"目录_ qbe/path/to/your/project
url(r'^qbe/',include('django_qbe.url'),
处理器
)
有关详细信息,请参阅"关于静态文件的django文档"。
然后,您可以访问http://host:port/qbe
但是,您可以从管理页面添加链接,更改管理员网站的管理索引模板:
class adminsite(admin.adminsite):
index_template="qbe_index.html"
下一个javascript::
<;script type="text/javascript" src="{%url qbe_js%}">;
saved querys
^^^^^^^^^^^^^^^^^^
如果您有选择地想在数据库中存储查询,请随意安装还包括的应用程序``django qbe.savedquerys``:
已安装的"django"应用程序=(
[…]django内置应用程序
"django"qbe,
"django"qbe.savedquerys",
[…]任何其他应用程序
)
,然后运行"syncdb"或可选的"south"的"migrate"管理命令
创建"savedquery保存的查询``表。
之后,将有一个新的选项将查询保存在模型实例中,并有一个管理界面来浏览保存的查询,或者使用命令``qbe_export``从命令行直接执行:
$python manage.py help qbe_export
$python manage.py qbe_export<;query_hash>;
$python manage.py qbe_export<;query_hash>;--output test.csv
$python manage.py qbe_export<;query_hash>;--output test.xls--format xls
$python manage.py qbe_export<;query_hash>;--output test.xls--format xls--db alias default
…_南:http://south.readthedocs.org/
settings
--
>下一行显示de available settings及其默认值。
要在结果中添加管理URL的管理模块名称::
如果与通常的*djang不同,请设置自己的管理站点o.contrib.admin.site*:
>控制具有qbe访问权限的用户的功能:
查询生成器表单的一些选项::
qbe_aliases=false模型字段
qbe_group_by=false;它允许在查询中按分组
qbe_show_row_number=true;它禁用结果中的行数
qbe格式导出文件的路径,以便添加自定义导出格式::
qbe格式tsu export="qbe_formats"
自定义qbe运算符的路径,条件是:
custom operators
--
仅当您知道自己在做什么并承担风险时才使用自定义运算符!
如果需要定义自定义运算符,则需要在
项目根目录中的文件"qbe-operators.py"中创建一个扩展
"django-qbe.operators.customoperator"的新类:
从django导入日期时间
从django.utils导入时区
从django-qbe.operators导入ORT customoperator
Class since days ago(customoperator):
slug='从几天前开始',必需且必须是唯一的
label='从几天前开始',必需
返回self.params
now=timezone.now()
today=now.replace(hour=0,minute=0,second=0,microsecond=0)
tomorrow=today+datetime.timedelta(days=1)
date since=today-datetime.timedelta(days=int(self.value))
operator="gt"
lookup_since=self._get_lookup(operator,str(date_since))
lookup_until=self._get_lookup(operator,str(tomorrow))
self.params.append(lookup_since)
self.params.append(lookup_until)(lookup_until)
def get_wheres(self):
如果len(self.wheres):
返回self.wheres
lookup_cast=self._db_operations.lookup_cast
对于["gte","lt"]:
db_operator=self._db_operator s[operator]
self.wheres.append(u"%s%s"%"(
lookup_cast(operator)%self.db_field,
db_operator)
return self.where
自定义运算符必须有两个属性``slug``和``label``才能在条件下拉列表中显示。
`` get-params``和'get-wheres``方法必须返回一个iterable实例
(例如list),否则它将被转换为一个列表。
如果不想将其写入``models.py``中,请确保它是在运行时计算的一个文件(例如``models.py`
或``以注册您的自定义运算符。
…_问:http://www.google.com/url?sa=t&source=web&ct=res&cd=2&ved=0cb4qfjab&url=http%3a%2f%2fpages.cs.wisc.edu%2f~dbbook%2fopenaccess%2f3dedition%2fqbe.pdf&ei=ud5s5wsbyp5-qb-18i8ca&usg=afqjcnhmv-pua285zhwt8devuzfj2gfyka&sig2=-stedwjhntaixh2iffsaw
。_ pypi:http://pypi.python.org/pypi/django_qbe/
。_静态文件:http://docs.djangoproject.com/en/dev/howto/static-files/