/django-pdns

django-pdns

Primary LanguagePython

django-pdns

Basic Django app that connects to the database used by the MySQL and PostgreSQL backends for PowerDNS.

Usage

Add 'pdns' to your INSTALLED_APPS and add a key 'powerdns' to the DATABASES dict in your projects' settings, e.g.:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    },
    'powerdns': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'pdns',
        'USER': 'pdns',
        'PASSWORD': 'supercomplicatedpassword',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

Finally, add pdns.routers.PowerDNSRouter to your DATABASE_ROUTERS list.

Notes

In the PowerDNS database, the primary key for the supermaster table is a combination of the ip and nameserver fields. Django does not support composite keys, therefore in this app the Supermaster model has its primary key on the nameserver attribute.