#安裝的所有包
pip list
c:\python37-32
c:\python37-32\scripts
windows平台
python3 -m venv . #在當前目錄下建立虛擬環境
進入當前scripts目錄下,執行activate.bat,如下圖表示啟用成功
linux平台
python3 -m venv . #在當前目錄下建立虛擬環境
source bin/activate
首先進入虛擬環境
pip install django
django-admin version
django-admin startproject myprj
cd myprj
pip install mysql-python
在mysql中建立資料庫
shou databases
create database myprj charset =utf8
use myprj
show tables
修改settings.py
databases =
}
demo
databases =
}
可以檢視這個目錄
c:\python37-32\lib\site-packages\django\db\backends
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'booktest',
]
python manage.py inspectdb > booktest/models.py
修改booktest\model.py
from django.db import models
class bookinfomanager(models.manager):
def get_queryset(self):
return super(bookinfomanager,self).get_queryset().filter(isdelete=false)
def create(self,btitle,bpub_date):
b=bookinfo()
b.btitle=btitle
b.bpub_date=bpub_date
b.bread=0
b.bcommet=0
b.isdelete=false
return b
class bookinfo(models.model):
btitle=models.charfield(max_length=20)
bpub_date=models.datetimefield(db_column='pub_date')
bread=models.integerfield(default=0)
bcommet=models.integerfield(null=false)
isdelete=models.booleanfield(default=false)
class meta:
db_table='bookinfo'
books1=models.manager()
books2=bookinfomanager()
@classmethod
def create(cls,btitle,bpub_date):
b=bookinfo()
b.btitle=btitle
b.bpub_date=bpub_date
b.bread=0
b.bcommet=0
b.isdelete=false
return b
class heroinfo(models.model):
hname=models.charfield(max_length=10)
hgender=models.booleanfield(default=true)
hcontent=models.charfield(max_length=1000)
isdelete=models.booleanfield(default=false)
book=models.foreignkey(bookinfo)
#生成遷移
manage.py makemigrations
#生成表
manage.py migrate
我們生成的表
hero.book.id是獲取英雄物件
hero.book_id是獲取英雄物件的bookid關聯著bookinfo表的id
Django3 ORM配置Mysql踩過的坑
本小白踩過的坑,請正在自學django3的同學耐心看完 首先在settings.py下設定 databases from django.db import models create your models here.class account models.model username model...
來討論下django中表關聯的乙個問題。
在django中,如果乙個表與另乙個表是manytomany關係,則可以在乙個表中使用manytomany關係將兩個表關聯起來,這樣django會自動生成乙個關聯表來。現在有乙個問題,如果希望在這個關聯表中新增額外的字段,該怎麼操作?考慮乙個實際的問題,例如乙個表,user,乙個表group,這兩個...
想寫乙個ORM的框架
其實也是受公司框架啟發,公司寫bean都是自動生成,只要在乙個web應用中輸入包名和表名,就能自動生成bean,其中一種bean是普通的pojo,是資料庫表的一些字段,加上setget方法,另外一些就是增刪改查的table類。以上雖然看不到如何實現,但是無非也就是讀取databasemeta和res...