Django - mwicat/personal GitHub Wiki

Show migrations

django-admin showmigrations

Revert to previous migration

django-admin migrate my_app 0010_previous_migration 

Reset migration history

django-admin migrate --fake yourappname zero

Dump request

    if request.method == "POST":
        query = request.POST.dict()
    elif request.method == 'GET':
        query = request.GET.dict()
    else:
        query = {}
    print('url', request.get_full_path(), 'method', request.method, 'query', query)

Generate secret key

from django.utils.crypto import get_random_string

chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
get_random_string(50, chars)

Empty view

from django.http import HttpResponse
from django.views import View

class EmptyView(View):
    def get(self, request):
        return HttpResponse('')

Create user

from django.contrib.auth.models import User
user = User.objects.create_user(username='johndoe', email="",  password="yourpw")
user.groups.add(name='groupname')
user.get_all_permissions()

Debug middleware

middleware.py:

import traceback
import sys

class ProcessExceptionMiddleware(object):
    def process_response(self, request, response):
        if response.status_code != 200:                
            print '\n'.join(traceback.format_exception(*sys.exc_info()))
        return response

settings.py:

MIDDLEWARE_CLASSES = (
    'sync.api.middleware.ProcessExceptionMiddleware',
)

Serialize

from django.core import serializers

data = serializers.serialize("json", SomeModel.objects.all())

Deserialize

from django.core import serializers

for deserialized_object in serializers.deserialize("json", data):
    deserialized_object.save()

Show database configurations

from django.db import connections
for conn in connections: print(conn, connections[conn].settings_dict)