用于自定义报表的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/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java FirebaseInstanceId。getInstance()始终为空   linux Java执行文件错误   javaspringboot:如何使用Ajax在springboot和Thymeleaf中创建进度条?   java禁用在安卓上使用传单时启用setJavaScriptEnabled   java如何在主体中发布原始类型JSON数据?   消除JAVA While循环中的额外输出   如何在java中直接将基本数据类型分配给自定义类   java为什么addNode()方法返回编译错误“类型中的方法…不适用于参数…”,我该如何修复它?   java惰性合成可观察对象   eclipse Java Blackberry位图单击   java Android:AsyncTask对象[]无法在doInBackground中强制转换   java有没有办法重构或改进这段代码?   java如何使用系统以十六进制打印字节。出来普林顿?   多线程如何在我的java聊天室中调试“java.net.UnknownHostException”?   java如何从Google App Engine下载应用程序源文件   java如何在Spring Data Mongo的聚合$group中使用类似$dateToString   java IBM websphere application server未在MyEclipse8中启动。0