Django database питання

Важливі моменти по роботі з базами даних в ORM Django.

Якщо існує база даних і її треба приєднати до проєкту.

Треба робити щось схоже на таке:

  1. налаштувати підключення бази даних ( підключення default)
  2. створити модель бази командою python manage.py inspectdb --database=default
  3. інколи можливо отримати тільки модель кожної таблиці окремо:
    python manage.py inspectdb --database=default TableName
  4. скопіювати створену модель до файлу застосунку appname\models.py
  5. база  підключена. Цілком можливо, треба буде десь виправити недоліки, та в цілому – проєкт готовий  до роботи з базою

Якщо баз даних декілька

налаштування підключення у файлі проєкту settings.py

  1. DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': BASE_DIR / 'db.sqlite3',
    },
        "filmbase": {
            "ENGINE": "mssql",
            "NAME": "SBase",
            "USER": "User",
            "PASSWORD": "********",
            "HOST": "Server",
            "PORT": "1433",
            "OPTIONS": {"driver": "ODBC Driver 17 for SQL Server",
                       },
        },
    }  # показано як підключити БД MSSQL [pip install django mssql-django]
  2. при запитах використовувати конструкцію item.objects.using('filmbase').all()
    або завжди вказувати  item.objects.using('default').all()
  3. якщо необхідно обмежити кількість у 10 результатів можливо використати конструкцію (сортування по id або pk)
    item.objects.all().order_by('-id')[:10:1]

 

Бекап бази

  • найпростіший метод – експорт (dump) бази засобами СУБД
  • експорт то csv/xls/json засобами СУБД (складніший, але універсальний спосіб)
  •  використовувати Django dumpdata/loaddata
  • https://www.etutorialspoint.com/index.php/256-django-export-model-data-to-csv

 

 

Корисні посилання

Підключитись до MSSQL бази

http://www.pymssql.org/pymssql_examples.html

http://www.pymssql.org/freetds.html

Залишити відповідь