一个简单的django应用程序,用于通过orm进行命令行搜索

django-grep-db的Python项目详细描述


django_grepdb是一个简单的命令行应用程序,提供基本的类似grep的搜索 使用orm的django模型字段。为了方便搜索标签, 数据库模板中的筛选器、命名URL等,但也可以用于快速 从命令行查找模型实例。

快速启动

  1. 将“django_grepdb”添加到已安装的应用程序设置中,如下所示:

    INSTALLED_APPS = (
        ...
        'django_grepdb',
    )
    

    或者,如果您有一个单独的开发设置文件,其中 扩展全局设置,如下所示:

    INSTALLED_APPS = INSTALLED_APPS + ('django_grepdb',)
    
  2. 运行:

    $ python manage.py grepdb <pattern> <app_label.Model.field_name>
    

用法

在上的所有文本字段中查找{% custom_template_tag.*%}的实例 来自appsprinkle的模型EmailAction,显示包含匹配项的行, 并生成管理链接(如果安装了django.contrib.admin):

$ python manage.py grepdb "{% custom_template_tag.*%}" sprinkle.EmailAction
<class 'sprinkle.models.EmailAction'> text_field

User registered (pk=13)
localhost:8000/admin/sprinkle/emailaction/13/
<p>Hi {% custom_template_tag user.get_full_name %},</p>

Password reset request (pk=24)
localhost:8000/admin/sprinkle/emailaction/24/
<p>Hi, {% custom_template_tag user.get_full_name %}</p>

选项

选项是使用$ python manage.py grepdb --help列出的,但这里有一些 你可以使用django_grepdb

搜索多个模型:

$ python manage.py grepdb <pattern> sprinkle.EmailAction cms.MarkdownNode

指定字段而不是查找所有文本字段:

$ python manage.py grepdb <pattern> sprinkle.EmailAction.body sprinkle.EmailAction.subject

查找charfield而不是textfield的所有实例:

$ python manage.py grepdb <pattern> sprinkle.EmailAction -c

显示匹配项的整个字段,而不仅仅是行:

$ python manage.py grepdb <pattern> sprinkle.EmailAction -sa

更改管理链接的主机名:

$ python manage.py grepdb <pattern> sprinkle.EmailAction -l https://dev.example.com

在设置中指定主机名键值对:

DJANGO_GREPDB_SITES = {
    'default': 'https://staging.example.com'
    'dev': 'https://dev.example.com',
}

$ python manage.py grepdb <pattern> sprinkle.EmailAction -l dev

在“设置”中指定预设配置:

DJANGO_GREPDB_PRESETS = {
    'users': dict(identifiers=['auth.user', 'projects.userprofile'],
                  field_type=['CharField', 'TextField'],
                  ignore_case=True),
    'templates': dict(identifiers=['sprinkle.EmailAction', 'cms.HTMLNode', 'cms.TextNode', 'cms.MarkdownNode'])

$ python manage.py grepdb <pattern> -p templates

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

推荐PyPI第三方库


热门话题
国际化Java语言环境以获得僧伽罗语/斯里兰卡语翻译   java获取实时Log4J消息   java SAML EncryptedAssertion解密失败   框架java有多少个版本?   java HeaderElements必须是命名空间限定的   java Sonar抱怨变量声明。。我们不能用“u”吗?   java如何使用Junit5创建JUnit4中的测试套件   java我编写此代码是为了从用户填充的数字数组中查找最大和最小的数字,但它不起作用   java SQLITE_ERROR SQL ERROR或缺少数据库(table food没有名为price的列)   java Android:我怎样才能让空的EditText字段不被随机计数?   jpa是由java引起的。lang.IllegalStateException:同一实体的多个表示形式   java我如何在同一个类中一次又一次地对同一事物执行actionListener?   java SimpleDataFormat引发不可解析异常   模型视图控制器如何使通过网络传递的Java序列化对象通知客户端GUI更改   具有处理程序的java重复任务花费的时间超过间隔时间   java编写与服务器连接的桌面应用程序