所謂物件關係對映,就是將資料庫的一些名字與python中的一些名字相對應,表名-->類名,欄位-->屬性,操作(增刪改查)-->方法。這樣,我們就可以通過對python**的編輯來對資料庫進行操作。
流程:建立models,通過models建立遷移檔案(makemigrations),通過遷移檔案對映到資料庫中。
book/models.py
from django.db importbook/admin.pymodels
#create your models here.
class
student(models.model):
#欄位對映,資料庫中是male,female,後台顯示的是男,女
choices=
#建立資料庫中的字段
name=models.charfield(verbose_name='
姓名',max_length=20,unique=true)
age=models.charfield(verbose_name='
年齡',max_length=10)
gender=models.charfield(verbose_name='
性別',max_length=10,choices=choices,default='
male')
is_deleted=models.booleanfield(default=false)
introduce=models.textfield()
def__str__
(self):
return
self.name
class
meta:
#verbose_name_plural='新聞'
#verbose_name="新聞列表"
#修改排列的順序,這句是靠id從大到小排序
ordering=['
-id'
] db_table = '
student
'
from django.contrib import有了這兩個,輸入:admin
from .models import
student
#register your models here.
#在後台顯示相關資訊
class
studentadmin(admin.modeladmin):
list_display = ['
id','
name
','age
','gender
','is_deleted
','introduce']
#將模型進行註冊
admin.site.register(student,studentadmin)
python manage.py makemigrations
python manage.py migrate
會在migrations下生成乙個檔案:
具體內容如下:
from django.db import我們要進入後台管理介面需要設定使用者名稱和密碼:migrations, models
class
migration(migrations.migration):
dependencies =[
('book
', '
0001_initial'),
]operations =[
migrations.createmodel(
name='
student',
fields=[
('id
', models.autofield(auto_created=true, primary_key=true, serialize=false, verbose_name='id'
)), (
'name
', models.charfield(max_length=20, unique=true, verbose_name='姓名'
)), (
'age
', models.charfield(max_length=10, verbose_name='年齡'
)), (
'gender
', models.charfield(choices=[('
male
', '
男'), ('
femal
', '
女')], max_length=10, verbose_name='性別'
)), (
'is_deleted
', models.booleanfield(default=false)),
('introduce
', models.textfield()),
],),
migrations.deletemodel(
name='
articles',),]
python manage.py createsuperuser
輸入使用者:admin 密碼:12345678 郵箱可以不填
瀏覽器輸入127.0.0.1:8000/admin,輸入賬號密碼後進入到管理介面,
點選students,會有相應表的資訊:
最後,我們將資料庫裡面的內容傳到前台頁面:
book/views.py
from .models importindex.htmlstudent
from django.shortcuts import
render
defindex(request):
student_list=student.objects.all()
context=
return render(request,"
index.html
",context=context)
"en最終效果:">
class="
content
">}}
Django模型ORM使用 FQ物件
在django中比較倆個屬性的方法使用f物件會更簡單快捷.f物件使用方法 from django.db.models import f f 屬性 例句 from django.db.models import f from django.db.models import bookinfo 匯入模型類...
django之ORM物件關係對映
orm 物件關係對映,物件關係對映的意思就是在python中 類對應資料庫中的 物件對應 中的記錄。屬性對應 中的字段。orm通過讓我們程式設計師使用物件導向的思想來運算元據庫,不用直接再編寫sql語句。提高開發效率。資料建模 簡單地說就是使用資料庫來描述我們的業務邏輯。teacher表 name ...
Django之物件導向ORM
django模型層orm的乙個強大之處是對於模型的支援,該技術將python物件導向的程式設計方法與資料庫面向關係表的資料結構有機地結合。django支援三種風格的模型繼承。抽象類繼承 父類繼承自model.model,但不會在底層資料庫生成相應的資料表。父類屬性列儲存在其子類的資料表中。抽象類繼承...