django-admin-cli icon indicating copy to clipboard operation
django-admin-cli copied to clipboard

Manage you models in command line environment

================ Django Admin CLI

.. image :: https://travis-ci.org/ZuluPro/django-admin-cli.svg?branch=master :target: https://travis-ci.org/ZuluPro/django-admin-cli

.. image:: https://coveralls.io/repos/ZuluPro/django-admin-cli/badge.svg?branch=master :target: https://coveralls.io/r/ZuluPro/django-admin-cli?branch=master

.. image:: https://landscape.io/github/ZuluPro/django-admin-cli/master/landscape.svg?style=flat :target: https://landscape.io/github/ZuluPro/django-admin-cli/master :alt: Code Health

Django third app for manage you models in command line environment.

.. contents:: Table of content

Features

This app is based on Django Admin Site and ModelAdmin defined by developpers. It is supposed to allow user to make same things as in Admin site:

  • List model's instance:

    • Filtering with Django's Lookup
    • Choosing which field you want including ModelAdmin and Model attributes
    • Default display is the Admin one
  • Add an instance:

    • Prepopulate with default values
  • Update instances:

    • Filtering with Django's Lookup
  • Delete instances:

    • Filtering with Django's Lookup
  • Describe model and modeladmin

  • System user restriction (Read/Write)

  • Use admin actions (further)

Install

Install the package on your system: ::

pip install django-admin-cli

Add admin_cli to INSTALLED_APPS.

Usage

List model's instance

::

$ ./manage.py cli user list Username Email address First name Last name Staff status zulu True admin True

List specified fields

::

$ ./manage.py cli user list -f id -f username Id Username 1 zulu 2 admin

Filter specified fields

::

$ ./manage.py cli user list -F id=1 Username Email address First name Last name Staff status zulu True

Add an instance

::

$ ./manage.py cli site add -f domain=mysite.org -f 'name=My site' Created 'mysite.org'

Update an instance

::

$ ./manage.py cli site update -F domain=mysite.org -f 'name=New name' Update 'mysite.org' ? [Yes|No|All|Cancel] y Updated 'mysite.org'

Delete an instance

::

$ ./manage.py cli site delete -F domain=mysite.org Delete 'mysite.org' ? [Yes|No|All|Cancel] y Deleted 'mysite.org'

Resctrict access to users

Put a dict named ADMIN_CLI_USERS in settings.py. It must have the following format:

::

ADMIN_CLI_USERS = { 'login': 'RW', }

Keys are UID or username, values are rights 'R' for read, 'W' for write/update/delete and 'RW' for both.

By default ADMIN_CLI_USERS is {} which allows all users to make all operations.

Testing

All tests are simply launched by:

::

python setup.py test

Online resources

  • Code repository_
  • Documentation_
  • Travis CI server_
  • Coveralls report_
  • Landscape_

.. _Code repository: https://github.com/ZuluPro/django-admin-cli .. _Documentation: https://github.com/ZuluPro/django-admin-cli#id3 .. _Coveralls report: https://coveralls.io/r/ZuluPro/django-admin-cli?branch=master .. _Travis CI server: https://travis-ci.org/ZuluPro/django-admin-cli .. _Landscape: https://landscape.io/github/ZuluPro/django-admin-cli/