国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

Python學習筆記之Django創建第一個數據庫模型的方法

2024-09-09 19:02:25
字體:
來源:轉載
供稿:網友

Django里面集成了SQLite的數據庫,對于初期研究來說,可以用這個學習。

第一步,創建數據庫就涉及到建表等一系列的工作,在此之前,要先在cmd執行一個命令:

python manage.py migrate

這個命令就看成一個打包安裝的命令,它會根據mysite/settings.py的配置安裝一系列必要的數據庫表

第二步,我們要建立一個Model層,修改demo/model.py:

from django.db import modelsclassQuestion(models.Model):question_text = models.CharField(max_length=200)pub_date = models.DateTimeField('date published')classChoice(models.Model):question = models.ForeignKey(Question, on_delete=models.CASCADE)choice_text = models.CharField(max_length=200)votes = models.IntegerField(default=0)

這個Model的內容包括創建表(對象)、確定變量(字段)的類型,以及外鍵方面的信息

第三步,要激活Model,那么現在helloworld/setting.py中修改:

INSTALLED_APPS =['demo.apps.DemoConfig','django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',]

主要是加了第一行的內容,這個在demo/apps下有的。目的是讓Django知道有demo這個app。

然后就在cmd下面運行:

python manage.py makemigrations demo

可以看到在demo/migrations/0001_initial.py下面生成了很多代碼

繼續run這段代碼,就完成了建表工作:

python manage.py sqlmigrate demo 0001

再跑一下migrate命令,把這些model創建到數據庫表中

python manage.py migrate

第四步,也是比較好玩的了,就是要進入到python django的shell中,執行這個命令:

python manage.py shell

在這個里面,就可以通過命令行操作數據庫了

先引入剛才創建好的model:

from demo.models importQuestion,Choice

這個命令,打印出Question所有的對象:

Question.objects.all()

然后創建一個Question的對象(或數據):

from django.utils import timezoneq =Question(question_text="What's new?", pub_date=timezone.now())q.save()q.idq.question_textq.pub_dateq.question_text = "What's up?"q.save()Question.objects.all()

第五步,然后polls/models.py中添加以下代碼:

from django.db import modelsfrom django.utils.encoding import python_2_unicode_compatible@python_2_unicode_compatible# only if you need to support Python 2classQuestion(models.Model):# ...def __str__(self):return self.question_text@python_2_unicode_compatible# only if you need to support Python 2classChoice(models.Model):# ...def __str__(self):return self.choice_textimport datetimefrom django.db import modelsfrom django.utils import timezoneclassQuestion(models.Model):# ...def was_published_recently(self):return self.pub_date >= timezone.now()- datetime.timedelta(days=1)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁夏| 拉萨市| 东辽县| 莱芜市| 江永县| 都兰县| 东丽区| 内江市| 海伦市| 弥勒县| 新建县| 万全县| 遂昌县| 志丹县| 江安县| 普宁市| 井冈山市| 民权县| 介休市| 花莲县| 玉溪市| 新昌县| 玉屏| 新津县| 彩票| 杨浦区| 宕昌县| 南皮县| 平乡县| 正蓝旗| 永安市| 合作市| 华宁县| 密山市| 连云港市| 牡丹江市| 淄博市| 南召县| 肇庆市| 宝兴县| 定西市|