標籤:foreign tle auth 1.7 country publish pre mysql date
這段時間在學習mysql+django的知識點。藉此記錄以下學習過程遇到的坑以及心得。
使用的工具是navicat for mysql
python 2.7.12
mysql-python 1.2.3 。
首先在次目錄下建立一個資料庫(students_info),記下使用者名稱,密碼,連接埠。。。。。。此資料庫後續會在settings.py中進行對接。
django與database對接的操作流程:
1、你得先告訴django資料庫的相關資訊,後續架構會自動去根據這些資訊訪問資料庫不用你操心了。
代碼如下:
DATABASES = {
‘default‘:
{
‘ENGINE‘:‘django.db.backends.mysql‘,
‘NAME‘:‘students_info‘,
‘USER‘:‘root‘,
‘PASSWORD‘:‘123456‘,
‘HOST‘:‘127.0.0.1‘,
‘PORT‘:‘3306‘,
}
}
以上就是在settings.py中的設定,沒錯就這麼簡單。ENGINE根據各種資料庫不同可以參照官方文檔https://docs.djangoproject.com/en/1.7/ref/settings/#std:setting-DATABASES。
2、定義資料模型,這工作是在對應的app(blog)應用目錄下的model.py中完成的。例子如下(djangobook例子):
class Publisher(models.Model): name = models.CharField(max_length=30) address = models.CharField(max_length=50) city = models.CharField(max_length=60) state_province = models.CharField(max_length=30) country = models.CharField(max_length=50) website = models.URLField()class Author(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=40) email = models.EmailField()class Book(models.Model): title = models.CharField(max_length=100) authors = models.ManyToManyField(Author) publisher = models.ForeignKey(Publisher) publication_date = models.DateField()
每個class會對應一個表。
3、接下來就是運行 python manage.py makemigrations blog
然後運行 python manage.py migrate
如果是第二次運行有問題,可以把blog/migrates下的0001_initial.py刪除再重新運行以上兩個命令。
4、如果沒問題,既可以再navigcat中看到建立的表。
django+mysql學習筆記