Skip to content

ZuluPro/django-admin-cli

Repository files navigation

Django Admin CLI

https://travis-ci.org/ZuluPro/django-admin-cli.svg?branch=master https://coveralls.io/repos/ZuluPro/django-admin-cli/badge.svg?branch=master Code Health

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

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 the package on your system:

pip install django-admin-cli

Add admin_cli to INSTALLED_APPS.

$ ./manage.py cli user list
Username                      Email address                 First name                    Last name                     Staff status
zulu                                                                                                                    True
admin                                                                                                                   True
$ ./manage.py cli user list -f id -f username
Id                   Username
1                    zulu
2                    admin
$ ./manage.py cli user list -F id=1
Username                      Email address                 First name                    Last name                     Staff status
zulu                                                                                                                    True
$ ./manage.py cli site add -f domain=mysite.org -f 'name=My site'
Created 'mysite.org'
$ ./manage.py cli site update -F domain=mysite.org -f 'name=New name'
Update 'mysite.org' ? [Yes|No|All|Cancel] y
Updated 'mysite.org'
$ ./manage.py cli site delete -F domain=mysite.org
Delete 'mysite.org' ? [Yes|No|All|Cancel] y
Deleted 'mysite.org'

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.

All tests are simply launched by:

python setup.py test

About

Manage you models in command line environment

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages