...
Open up settings.py on your project, and you can see the default database setting like below
Code Block # Database # https://docs.djangoproject.com/en/2.1/ref/settings/#databases DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }If you want to use mysql instead of sqlite3, you can use it by replacing as "django.db.backends.mysql". For oracle, it will be "django.db.backends.oracle".
If you are not using SQLite as your database, additional settings such as USER, PASSWORD, and HOST must be added. For more details, see the reference documentation for DATABASES.
Example)Code Block DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'USER': 'mydatabaseuser', 'NAME': 'mydatabase', 'TEST': { 'NAME': 'mytestdatabase', }, }, }Once you set all your requirements, you should run following command.
Code Block python manage.py migrateAs a next step, what we need to do is creating a model Creating models for online poll.
In our simple poll app, we’ll create two models:
QuestionandChoice. AQuestionhas a question and a publication date. AChoicehas two fields: the text of the choice and a vote tally. EachChoiceis associated with aQuestion.These concepts are represented by simple Python classes. Edit the
polls/models.pyfile so it looks like this:Code Block title polls/models.py from django.db import models # Create your models here. class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') class Choice(models.Model): question = models.ForeignKey(Question, on_delete=models.CASCADE) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default=0)If you see above, it looks like a table schema when we create a table in database. I won't elaborate the detail about above for this time.
Activating models
Even though we have created an app at the moment, but actually we can't say "polls" are correctly integrated with the project. In django, we should make some additional action to make it happen.
To include the app in our project, we need to add a reference to its configuration class in the INSTALLED_APPS setting. The PollsConfig class is in the polls/apps.py file,Code Block language py title polls/apps.py from django.apps import AppConfig class PollsConfig(AppConfig): name = 'polls'
so its dotted path is 'polls.apps.PollsConfig'. Edit the <your project folder>/settings.py file and add that dotted path to the INSTALLED_APPS setting. It’ll look like this:Code Block title <your project folder>/settings.py INSTALLED_APPS = [ 'polls.apps.PollsConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]