from django.db import models
class
blog
(models.model)
: name = models.charfield(max_length=
100)
tagline = models.textfield(
)def
__str__
(self)
:return self.name
class
author
(models.model)
: name = models.charfield(max_length=
200)
email = models.emailfield(
)def
__str__
(self)
:return self.name
#blog-entry(一對多,外來鍵一般放在多的那個模型類中)
#author-entry(多對多)
class
entry
(models.model)
: blog = models.foreignkey(blog, on_delete=models.cascade)
headline = models.charfield(max_length=
255)
body_text = models.textfield(
) pub_date = models.datefield(
) mod_date = models.datefield(
) authors = models.manytomanyfield(author)
number_of_comments = models.integerfield(
) number_of_pingbacks = models.integerfield(
) rating = models.integerfield(
)def
__str__
(self)
:return self.headline
python manage.py makemigrations
python manage.py migrate
建立物件
我建立的物件
可以通過admin後台去建立
def
index
(request)
:# all()檢索全部物件
entrys=entry.objects.
all(
)print
(entrys)
# filter()返回滿足條件的物件(number_of_comments大於10)
fentrys=entry.objects.
filter
(number_of_comments__gt=10)
print
(fentrys)
# exclude()返回不滿足查詢條件的物件
exclutry=entry.objects.exclude(number_of_comments__gt=10)
print
(exclutry)
# 用get()獲取單個物件(主鍵id為1)
one_entry=entry.objects.get(pk=1)
#get()獲取的單個物件
print
(one_entry)
one_entrylist=entry.objects.
filter
(pk=1)
#filter獲取的是列表
print
(one_entrylist)
,,
]>
,]>
]>
今天在學模型查詢
]>
跨關係查詢# 跨關係查詢
blog_name=entry.objects.
filter
(blog__name=
'測試的'
)print
(blog_name)
# 跨關係查詢反向操作
# 檢索blog物件標題為『haha』的條目(雙下劃線__)
bblog=blog.objects.
filter
(entry__headline__contains=
'haha'
)print
(bblog)
# 跨多值關聯
print
('***************='
)# 刪選出標題包含haha並且出版年分為2020的部落格
mblog=blog.objects.
filter
(entry__headline__contains=
'haha'
,entry__pub_date__year=
2020
)# 刪選出標題包含haha或者出版年分為2020的部落格
mmblog=blog.objects.
filter
(entry__headline__contains=
'haha').
filter
(entry__pub_date__year=
2020
)print
(mblog)
print
(mmblog)
]>
]>
====
====
====
====
]>
]>
我理解的正向查詢就是我查詢的屬性就是我所查詢的資料表,也就是說,資料表裡正好有我所查詢的屬性;反向查詢就是我所查詢的資料表中沒有我所查詢的屬性字段,必須得在關聯外來鍵字段存在得那張表去查詢,下面有例子可以方便了解;
print
('**********關聯物件**********==='
)# **********==一對多**********=
# 正向訪問(entry裡有blog屬性直接.就能訪問)
e=entry.objects.get(pk=2)
.blog
print
(e)# 反向關聯(無外來鍵物件模型名物件.有外建的表(小寫)_set.all())
b=blog.objects.get(pk=1)
print
(b.entry_set.
all())
# 在反向關聯的基礎上條件查詢
print
(b.entry_set.
filter
(headline__contains=
'ce'
))
test
,]>
]>
Django 教程 Django 模型
乙個django模組是內建的功能,django使用建立表,他們的田地,和各種約束。簡而言之,django models是與django一起使用的sql資料庫。sql 結構化查詢語言 很複雜,涉及許多不同的查詢,用於建立,刪除,更新或與資料庫有關的任何其他內容。django模型簡化了任務並將表組織到模...
Django 模型層 模型
django內建模型方法 乙個模型包含了資料的字段和操作方法,每個模型對映為一張資料庫中的表 person models.py from django.db import models class person models.model first name models.charfield max...
Django模型應用
django模型應用 在web 應用中,主觀邏輯經常牽涉到與資料庫的互動。資料庫驅動 在後台連線資料庫伺服器,從中取出一些資料,然後在 web 頁面用漂亮的格式展示這些資料。這個 也可能會向訪問者提供修改資料庫資料的方法。在django中同樣提供了資料庫的互動功能,就是我們所說的mtv中的 m or...