GithubHelp home page GithubHelp logo

erikreed / django-randomprimary Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jbrendel/django-randomprimary

0.0 3.0 0.0 6 KB

Random looking primary keys for Django models

Python 100.00%

django-randomprimary's Introduction

A new base class for Django models, which provides them with a better
and random looking primary key for the 'id' field.

This solves the problem of having predictable, sequentially numbered
primary keys for Django models.

Just use 'RandomPrimaryIdModel' as base class for your Django models.
They will then automatically get those new, random looking IDs.


The generated keys look similar to what you know from URL shorteners.
Here are some examples:

    Ada6z
    UFLX1
    Q68mf
    zjvsx3
    fDXshK
    VNuL0Lp

Each character in the key may be a letter (upper and lower case) or
a digit, except the first chracter, which is always a letter. Therefore,
with any additional character in the key length, the key space increases
62 fold. Just 5 characters already give you more than 768 million
different keys. As the key space gets tighter (can't find unused key
after a few tries), the key length is being increased.

The starting key length and maximum key length are tunable. See the doc-
string of the RandomPrimaryIdModel class for more information.


LICENSE:    Use as you wish, for whatever purpose. If you have any
            improvement or ideas, it would be nice if you could share
            those.

DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY


(c) 2012 Juergen Brendel ( http://brendel.com/consulting )

django-randomprimary's People

Contributors

erikreed avatar jbrendel avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.