Skip to main content

Django management command for commandline querying

Project description

Copyright (c) 2009-2014 Dennis Kaarsemaker <dennis@kaarsemaker.net> A command-line interface to query the Django ORM

Install:
  • python setup.py install
  • Add cli_query to the INSTALLED_APPLICATIONS setting in your settings.py

Usage: cd your_project_dir; ./manage.py query [options] [filters]

The django ORM will be queried with the filters on the commandline. Records will be separated with newlines, fields with the specified separator (the default is a comma). Alternatively, a template can be specified which will be passed the result of the query as the ‘objects’ variable

Query key/value pairs can be prefixed with a ‘!’ or ‘~’ to negate the query. The __in filter works, use a comma separated string of arguments

You can also update fields using -u field=value. For every changed object, you will be prompted to approve the changes.

Examples:
  • Display name and assettag of all mc01 servers %prog query -a servers -m Server name__startswith=mc01 -f name,assettag
  • Get a list of name, ip, mac for all servers where the does not contain .82. %prog query -a servers -m Interface !ip_address__contains=’.82.’ -f server.name,ip_address,mac_address
  • Use a template to get the roles, depending on mac address %prog query -a servers -m Server interface__mac_address=00:17:A4:8D:E6:BC -t ‘{{ objects.0.role_set.all|join:”,” }}’
  • List all eth0/eth1 network interfaces %prog query -a servers -m Interface name__in=eth0,eth1 -f ip_address,mac_address
  • Update the state of all mc2* servers $prog query -a servers -m Server name__startswith=mc2 -u status=live

Operators you can filter with are listed on https://docs.djangoproject.com/en/dev/ref/models/querysets/#field-lookups

Project details


Release history Release notifications

This version
History Node

1.3

History Node

1.2

History Node

1.1

History Node

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-cli-query-1.3.tar.gz (4.8 kB) Copy SHA256 hash SHA256 Source None Jan 30, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page