Skip to content

gitter-badger/django-admin-cli

 
 

Repository files navigation

Django Admin CLI

image

Code Health

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

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

About

Manage you models in command line environment

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.7%
  • Other 1.3%