Шпаргалка по Django

Модели

Проверка моделей на ошибки

#python manage.py check

Генерация sql скрипта из модели app Dj1.7

#python manage.py sqlall app  - Dj1.7 

Cинхронизация моделей с БД, работает только на добавление моделей

#python manage.py syncdb - Dj1.7 

Отметим, что syncdb не синхронизирует ни изменения в моделях, ни удаление моделей; если вы измените или удалите модель, а потом запустите syncdb, то она ничего не сделает.

Клиент командной строки для просмотра БД созданной Django

#python manage.py dbshell 

Выборка списка объектов

#Model.objects.all()
#Model.objects.filter(name = 'key', id = '1').order_by('-name', 'id')[0:2], select * from table where name = 'key' AND id = 1 ORDER BY name DESC, ORDER BY id OFFSET 0 LIMIT 2
#Model.objects.filter(name__contains = 'key') , select * from table where name LIKE '%key%'

Выборка отдельного объекта

#try:
#	Model.objects.get(name = 'Key')
#except Model.DoesNotExist:pass
#else: pass

Обновление объектов

#Model.objects.filter(id = 'key').update(name = 'New name'), Update table set name='New name' where id = 'key'
#Model.oblects.all().update(name = 'New name'), Update table set name = 'Ne name'

Удаление объектов

#Model.objects.fiter(id = 'key').delete()
#Model.oblects.all().delete()
#Model.objects.get(name= 'New name').delete()

Если БД удалил раньше миграций, необходимо удалить миграции из системной таблицы django_migrations

>>> from django.db import connections
>>> connect = connections['default'].cursor()
>>> connect.execute(" delete from django_migrations where app='lora' ")