django fixtures

Наскільки зручна річ...
Коли проект розростається, додаються нові аплікейшени і роширюються моделі, інколи простіше витерти чи обнулити файл бази даних. Тоді з нуля потрібно заводити користувачів, постити якісь дані, на що йде додатковий час. Фікстури дозволяють при manage.py syncdb догружати потрібні дані.
Для цього в потрібному аплікейшені створюємо каталог fixtures і зберігаємо JSON (також можливі інші формати) файл даних з іменем initial_data.json
Для того щоб зробити повний дамп даних проекту, потрібно виконати manage.py dumpdata > dump.json Потім я в PyCharm привожу код до читабельного вигляду, вирізаю потрібні дані і роблю вищеописані дії.
Приклад:
[
{
"pk": 64,
"model": "auth.permission",
"fields": {
"codename": "add_attachment",
"name": "Can add attachment",
"content_type": 22
}
},
{
"pk": 65,
"model": "auth.permission",
"fields": {
"codename": "change_attachment",
"name": "Can change attachment",
"content_type": 22
}
},
{
"pk": 66,
"model": "auth.permission",
"fields": {
"codename": "delete_attachment",
"name": "Can delete attachment",
"content_type": 22
}
},
{
"pk": 67,
"model": "auth.permission",
"fields": {
"codename": "delete_foreign_attachments",
"name": "Can delete foreign attachments",
"content_type": 22
}
},
{
"pk": 1,
"model": "auth.group",
"fields": {
"name": "attachments",
"permissions": [64, 65, 66, 67]
}
},
]

чим додаємо гурт і права до нього

Немає коментарів: