久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

Python的Django框架實現數據庫查詢(不返回QuerySet的方法)

瀏覽:5日期:2022-07-25 09:58:55

一、創建模型類:

# -*- coding: utf-8 -*-from __future__ import unicode_literalsfrom django.db import modelsclass Course(models.Model): '''課程表''' name = models.CharField(verbose_name=’課程名稱’, max_length=255) description = models.TextField(verbose_name=’課程描述信息’, null=True) price = models.DecimalField(verbose_name=u’課程價格’, max_digits=15, decimal_places=2, default=0.0) deleted = models.BooleanField(verbose_name=’課程是否被刪除’, default=False)created_at = models.DateTimeField(auto_now_add=True, db_index=True) edited_at = models.DateTimeField(auto_now=True) def __repr__(self): return self.nameclass User(models.Model): '''用戶表:記錄用戶常用信息''' name = models.CharField(verbose_name=u’用戶的姓名’, max_length=32, null=True) mobile = models.CharField(verbose_name=u’用戶的手機號’, max_length=32, unique=True) courses = models.ManyToManyField(verbose_name=u’關聯課程’, to=’Course’, through=’UserCourse’, related_name=’user_course’)class UserExtra(models.Model): '''用戶信息額外表: 存儲一些用戶不常用信息''' birthday = models.CharField(verbose_name=u’生日’, max_length=32, null=True) email = models.EmailField(verbose_name=u’郵箱’, null=True) user = models.OneToOneField(to=User, related_name=’extra’) # 跟User表是一對一的關系class UserCourse(models.Model): '''課程表跟用戶表手動添加的多對多表''' course = models.ForeignKey(’Course’, related_name=’my_course’) user = models.ForeignKey(’User’, related_name=’my_user’)class Coursechapter(models.Model): '''課程章節表''' name = models.CharField(verbose_name=’課程名稱’, max_length=255) description = models.TextField(verbose_name=’課程描述信息’, null=True) course = models.ForeignKey(’Course’, related_name=’course_chapter’)

執行以下命令,進行數據庫的遷移:

python manage.py makemigrations app_name[應用的名稱]python manage.py migrate app_name[應用的名稱]

遷移成功后可以進行以下的操作咯~

二、介紹不返回QuerySet的方法:

方法名 介紹 get() 獲取單個對象 create() 創建對象 bulk_create() 批量創建對象 get_or_create() 查詢對象,若沒有找到則創建新的對象 update() 批量更新對象 update_or_create() 更新對象,若沒有找到則創建新的對象 delete() 批量刪除對象 first() 獲取第一個對象 last() 獲取最后一個對象 latest() 獲取最近的對象 earliest() 獲取最早的對象 count() 統計對象的個數 exists() 判斷queryset中是否有對象 aggregate() 聚合操作 in_bulk() 根據主鍵值的列表,批量返回對象 iterator() 獲取包含對象的迭代器

三、以上方法的使用:

1.get()方法:

返回按照查詢參數匹配到的單個對象,若匹配到的對象個數不只一個的話,會觸發MultipleObjectsReturned異常,若根據參數匹配不到對象的時候,會觸發DoesNotExist異常。

成功栗子:

try: user_obj = models.User.objects.get(mobile=13069636688) print(user_obj)except models.User.DoesNotExist: print ’User Not Exist’# 輸出結果:User object

使用get()方法最好將異常捕獲添加上。

獲取參數失敗栗子:

# 使用get()方法獲取一條不存在的數據user_obj = models.User.objects.get(mobile=13888888888)# 拋出異常:DoesNotExist: User matching query does not exist.# 使用get()方法獲取多條數據user_obj = models.User.objects.get(name=’小明’)# 拋出異常:MultipleObjectsReturned: get() returned more than one User -- it returned 2!

使用ObjectDoesNotExist異常栗子:

DoesNotExist異常從django.core.exceptions.ObjectDoesNotExist繼承,可以定位多個DoesNotExist異常,舉個栗子:

from django.core.exceptions import ObjectDoesNotExisttry: user_obj = models.User.objects.get(mobile=13888888888)except ObjectDoesNotExist: print ’User Not Exist’# 拋出自定義異常:User Not Exist

通常我們使用get()方法中的參數,都是查詢表中作為唯一標識的字段。

2.create()方法:

create(**kwargs)

在一步操作中同時創建并且保存對象的便捷方法。

舉個栗子:

user_obj = models.User.objects.create(mobile=13045621111, name=’小牛’)print(user_obj)# 輸出結果如果:User object

同等于:

user_obj = models.User(mobile=13045621112, name=’小牛’)user_obj.save()

3.bulk_create()方法:

bulk_create(objs, batch_size=None)

這種插入比較高效(通常僅一個查詢,無論有多少對象),將提供的對象列表插入到數據庫中。

舉個栗子:

course_obj = models.Course.objects.bulk_create( [ models.Course(name=’哈爾濱工業大學’), models.Course(name=’長春大學’) ])print course_obj# 輸出結果如下:[<Course: 哈爾濱工業大學>, <Course: 長春大學>]

注意:

1.不會調用模型的save()方法,所以不會發送pre_save和post_save信號。

2.不適用多張表繼承中的子模型。

3.不適用于多對多關系。

4. get_or_create() 方法:

get_or_create(defaults=None, **kwargs)

通過kwargs來查詢對象的簡便方法(若模型中所有字段都有默認值或可以為空),如果該對象不存在則創建一個新的對象。

該方法返回一個由(object,created)組成的元組,元組中的object是一個查詢到或被創建的對象,created是一個表示是否創建新對象的布爾值(true:表示創建新對象|false:相反)。

舉個栗子:

try: # 通過id=100查看課程是否存在 course_obj = models.Course.objects.get(pk=100)except ObjectDoesNotExist: # 如果不存在就創建一門課程 course_obj = models.Course.objects.create(name=’上海財經大學’, price=’1877’)

使用get_or_create()方法重寫的栗子:

# 查看課程的name='上海交通大學', 如果不存在, 那么創建一條name='信息科技大學',price=2000的數據obj, created = models.Course.objects .get_or_create(name=’上海交通大學’, defaults={’name’: ’信息科技大學’, ’price’: 2000})print(obj, created)# 輸出結果如下:Course object True

注意:

​ 1.任何傳遞給get_or_create()的關鍵字參數,除了一個可選的defaults,都將傳遞給get()方法調用。

​ 2.如果找到一個對象,返回一個包含匹配到的對象以及False組成元組。

​ 3.如果查到的對象超過一個以上,將拋出MultipleObjectsReturned異常。

​ 4.如果找不到對象,get_or_create()將會實例化并保存一個新的對象,返回一個由新的對象以及True組成元組。

建議:只在Django視圖的POST請求中使用get_or_create(),因為這是一個具有修改性質的動作,不應該使用在GET請求中,那樣不安全。

5. update()方法:

update(**kwargs)

對指定的字段執行批量更新操作,并返回匹配的行數

舉個栗子:

# 可以更新多個字段,沒有多少字段的限制course_row = models.Course.objects.filter(name=’北京大學’) .update(name=’上海交通大學’, price=2000)print(course_row)# 輸出結果如下:1 # 表示僅在數據庫中修改了一條數據

注意:

​ 1.update()方法無需save()操作,唯一限制是它只能更新模型主表中的列,而不是關聯的整個模型。

​ 2.update()方法返回受影響的行數。

​ 3.update()方法還可以防止在加載對象和調用save()之間的短時間內數據庫中某些內容可能發生更改的競爭條件。

僅是更新一下對象,不需要為對象做其他事情,最有效的方法是調用update(),而不是將模型對象加載到內存中去。

# 不要這么做的栗子:course_obj = models.Course.objects.get(name=’北京大學’)course_obj.name = ’北京大學’course_obj.save()

6.update_or_create()方法:

update_or_create(defaults=None, **kwargs)

通過給出的kwargs來更新對象的便捷方法, 如果沒找到對象,則創建一個新的對象。

defaults是一個由 (field, value)對組成的字典,用于更新對象。defaults中的值可以是可調用對象。

該方法返回一個由(object, created)組成的元組,元組中的object是一個創建的或者是被更新的對象, created是一個標示是否創建了新的對象的布爾值(true(表示創建成功)|false(相反)) 。

舉個栗子:

try: # 查看課程name='北京大學'存在,若存在那么將name修改成'財經大學'進行保存 course_obj = models.Course.objects.get(name=’北京大學’) course_obj.name = ’財經大學’ course_obj.save()except ObjectDoesNotExist: # 如果不存在, 則創建一條name='北京大學'的課程 course_obj = models.Course.objects.create(name=’北京大學’)

使用update_or_create()方法重寫:

# 查找課程name='財經大學'是否存在, 如果存在,將name跟price字段進行更新, 若不存在創建新的記錄obj, res = models.Course.objects .update_or_create(name=’財經大學’, defaults={’name’: ’復旦大學’, ’price’: 2080})print(obj, res)# 輸出結果:Course object False # 表示沒有創建新的對象, 若找到該對象將更新Course object True # 表示創建了新的對象

7.delete()方法:

delete()

批量刪除QuerySet中的所有對象,并返回刪除的對象個數和每個對象類型的刪除次數的字典。delete()動作是立即執行的。

舉個栗子:

# 刪除課程price=2080的所有課程cur_course =models.Course.objects.filter(price=2080).delete()print(cur_course)# 輸出結果:(7, {u’apps.Coursechapter’: 2, u’apps.Course’: 2, u’apps.UserCourse’: 3})# 分析以上結果, 7表示共刪除7條數據, Coursechapter表中2條數據, Course表中2條數據, UserCourse表中3條數據

注意:delete()會為所有已刪除的對象(包括級聯刪除、對象的外鍵、多對多的關系)發出pre_delete和post_delete信號。

8.first()方法:

first()

返回結果集的第一個對象, 當沒有找到時返回None。如果QuerySet沒有設置排序,則將會自動按主鍵進行排序。

舉個栗子:

# 獲取課程表所有數據中的第一條數據course_obj = models.Course.objects.all().first()print(course_obj)# 輸出結果如下:Course object # 說明獲取到了第一條數據# 獲取課程name=’農業大學’的第一條數據course_obj = models.Course.objects.filter(name=’農業大學’).first()print(course_obj)# 輸出結果:None # 說明課程表中沒有name=’農業大學’

使用[0]來獲取第一個對象:

course_obj = models.Course.objects.filter(name=’農業大學’)[0]print(course_obj)# 輸出結果:IndexError: list index out of range # 拋出異常,沒有找到并不會返回None# 如果使用[0]方法,需要添加異常處理try: course_obj = models.Course.objects.filter(name=’農業大學’)[0]except IndexError: course_obj = None

9.last()方法:

last()

跟first()方法相同,只是返回的是查詢集中最后一個對象。

舉個栗子:

# 獲取課程表中最后一條數據course_obj = models.Course.objects.last()print(course_obj)# 輸出結果:Course object

10.latest()方法:

latest(field_name=None)

使用日期字典field_name,按日期返回最新對象。

舉個栗子:

# 查看按創建課程日前返回的最新對象course_obj = models.Course.objects.filter(created_at__isnull=False).latest(’created_at’)print(course_obj.id)# 輸出結果:101 # 這次是打印的Course表的ID,因為創建課程時, 這就是創建的最新對象。

注意:earliest()和latest()可能會返回空日期的實例,可能需要過濾掉空值 。

11.earliest()方法:

earliest(field_name=None)

跟latest()方法相同,只是返回查詢集中按日期最早的對象。

舉個栗子:

# 獲取課程表中按日期創建課程最早的對象course_obj = models.Course.objects.filter(created_at__isnull=False).earliest(’created_at’)print(course_obj.id)# 輸出結果:1 # 打印Course表中的ID,因為數據庫第一條數據,就是最早創建的

12.count()方法:

count()

返回在數據庫中對應的QuerySet對象的個數。

舉個栗子:

course_count = models.Course.objects.all().count()print(course_count)# 輸出結果:

count()永遠不會引發異常。

13.exists()方法:

exists()

如果QuerySet包含任何結果,則返回True,否則返回False。

舉個栗子:

# 查找課程表中是否包含name='信息科技大學的集合'course_list = models.Course.objects.filter(name=’信息科技大學’)# 如果存在就打印'存在'if course_list.exists(): print(’存在’)# 輸出結果:存在

該exists()方法快于以下栗子:

# 同樣查找課程中是否包含name='信息科技大學'course_list = models.Course.objects.filter(name=’信息科技大學’)if course_list: print(’存在’)# 輸出結果:存在

14.aggregate()方法:

aggregate(args, *kwargs)

返回匯總值的字典(平均值、總和等),通過QuerySet進行計算,每個參數指定返回的字典中將要包含的值。

舉個栗子:

匿名參數的名稱將基于聚合函數的名稱和模型字段生成

from django.db.models import Count# 獲取課程名稱name='信息科技大學',將'name'字段進行聚合統計course_dict = models.Course.objects.filter(name='信息科技大學').aggregate(Count(’name’))print(course_dict)# 輸出結果:{u’name__count’: 3} # 將基于聚合函數的名稱(count)和模型字段(name)生成

再舉個栗子:

使用關鍵字參數來指定聚合函數,可以控制返回的聚合的值的名稱。

from django.db.models import Count# 獲取課程名稱name='信息科技大學', 將name字段進行聚合統計course_dict = models.Course.objects.filter(name='信息科技大學') .aggregate(customize_name=Count(’name’))print(course_dict)# 輸出結果:{’customize_name’: 3} # 使用關鍵字參數指定聚合函數,返回聚合的值名稱

15.in_bulk()方法:

in_bulk(id_list=None)

獲取主鍵值的列表,并返回將每個主鍵值映射到具有給定ID的對象的實例的字典。如果未提供列表,則會返回查詢集中所有對象。

舉個栗子:

# 獲取課程表中ID是1的對象course_obj = models.Course.objects.in_bulk([1])print(course_obj)# 輸出結果:{1: <Course: Course object>}# 獲取課程表中ID是2,3的對象course_obj = models.Course.objects.in_bulk([2, 3])print(course_obj)# 輸出結果:{2: <Course: Course object>, 3: <Course: Course object>}# 若列表中沒有填寫ID, 返回空字典course_obj = models.Course.objects.in_bulk([])print(course_obj)# 輸出結果:{}# 獲取課程表所有的ID對應的對象, 返回一個字典course_obj = models.Course.objects.in_bulk()print(course_obj)# 輸出結果:{1: <Course: Course object>, 2: <Course: Course object>, 3: <Course: Course object>, 4: <Course: Course object>, 5: <Course: Course object>, 6: <Course: Course object>,

16.iterator()方法:

iterator()

提交數據庫操作,獲取QuerySet,返回一個迭代器。

QuerySet通常會再內部緩存其結果,以便再重復計算時不會導致額外的查詢。

主要時QuerySet的緩存機制,如果一次從數據庫取出很多數據,就有可能導致程序崩潰,可以利用iterator()方法,做性能優化。

舉個栗子:

# 取出數據庫的所有對象, 要考慮cache機制, 如果數據量太大, 程序就會崩潰course_list = models.Course.objects.all()# 利用iterator()方法, 這次就不能用2次for循環, 第一次for循環, 就已經遍歷完了course_set = models.Course.objects.all().iterator()print(next(course_set))print(next(course_set))print(next(course_set))# 對數據庫進行更新, 但并沒有執行, 只有再用的時候再執行models.Course.objects.filter(pk=1).update(price=66)# 如果for循環2次, 打印2次結果, 也是執行一次sql語句,因為存在sql緩存機制,# 把第一次查詢的結果放到緩存里, 下次從緩存里調for obj in course_list: print(obj.name, obj.price)'''# 更新數據之前id:1name: 上海交通大學price: 2000# 更新數據后id:1 name: 上海交通大學price : 66'''

使用iterator()會導致先前的prefetch_related()調用被忽略,因為這兩個一起優化沒有意義。

以上這篇Python的Django框架實現數據庫查詢(不返回QuerySet的方法)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 成人久久久精品国产乱码一区二区 | 亚洲精品视频免费看 | 久久免费99精品久久久久久 | 日韩成人在线影院 | 在线国产一区二区 | 91精品国产91久久久久久最新 | 青青草一区 | 色婷婷综合久久久中文字幕 | 色爱av| 99热新 | 国产精品69久久久久水密桃 | 久久69精品久久久久久久电影好 | 日韩在线视频一区 | 久久一二区 | 久久99精品久久久久久琪琪 | 国产精品中文 | 久久丁香| 91激情视频| 国产精品国产三级国产a | 亚洲福利av | 波多野结衣 一区二区 | 视频一区在线 | 欧美日韩精品一区 | 天天舔天天干天天操 | 色视频在线免费观看 | 欧美日韩一区二区视频在线观看 | 91精品国产九九九久久久亚洲 | 美女视频黄的免费 | 欧美a级成人淫片免费看 | 欧美成人激情视频 | 亚洲成人精品在线 | 免费看片一区二区三区 | 精品久久中文字幕 | 久久久久久毛片免费播放 | 国产精品片aa在线观看 | 欧美中文一区 | 成人精品三级av在线看 | 国产精选一区二区三区不卡催乳 | 国产精品久久久久久久久久久久久 | 日韩免费在线观看视频 | 色婷婷国产精品免费网站 | 91在线一区二区 | 国产一区二区av | 亚洲精品二三区 | 欧洲亚洲视频 | 国产精品一区二区免费 | 九色av | 免费的av在线| 亚洲综合无码一区二区 | 九九精品久久久 | 欧美一级在线播放 | 精品久久久久国产 | 日韩在线视频观看 | 久久手机在线视频 | 婷婷亚洲综合 | 欧美日韩视频在线观看一区 | 午夜免费看片 | 亚洲人成网亚洲欧洲无码 | 国产精产国品一二三产区视频 | 久久一| www.亚洲精品| 亚洲综合无码一区二区 | 亚洲国产视频一区 | 一区二区不卡 | 欧美日韩国产一区二区三区在线观看 | 午夜av电影| 欧美激情一区二区三区在线视频 | 欧美视频二区 | 理论片免费在线观看 | 亚洲精品视频在线免费 | 午夜精品一区 | 91精品久久| 欧美精品日韩 | 欧美一级全黄 | 最新日韩免费 | 亚洲视频免费观看 | 激情久久久| 国产亚洲精品综合一区91555 | 99re视频 | 国产91在线播放精品91 | 色爱av| 免费国产视频 | 一级h片 | 国产精品日韩欧美 | 日本免费视频 | 91精品国产综合久久久久久丝袜 | 中文字幕视频网站 | 久久久精品免费观看 | 欧美精品理论片大全 | 美女视频一区二区三区 | 国产精品一区二区av | 最新亚洲黄色网址 | 免费在线看a | 性xxxxxxxxx18欧美 | 日韩在线国产 | 国产高清一二三区 | 国产成人免费视频网站高清观看视频 | 国产一区二区精品 | 久日精品 | 国产精品久久久久久久久久久免费看 | 国产精品一区二区三区四区 | 久久第一区 | 成人国产精品久久 | 狠狠综合久久 | 欧美激情视频一区二区三区在线播放 | 欧美视频综合 | 国产第一区二区 | 久久久av一区 | 国产高清在线精品一区二区三区 | 国产高清自拍 | 久久精品久久久久电影 | 国产精品一区二区三区在线播放 | 99免费精品 | 国产成人一区 | 老牛嫩草一区二区三区眼镜 | 日韩a视频| 日韩精品视频在线观看免费 | 国产欧美一区二区精品性色 | 自拍偷拍视频网 | 中文字幕乱码亚洲精品一区 | 羞羞在线观看视频免费观看hd | 亚洲三区在线观看 | 午夜影院免费看 | 国产深夜视频在线观看 | 亚洲一区二区三区视频 | 亚洲女人天堂成人av在线 | 久久亚洲国产精品 | 91欧美激情一区二区三区成人 | 日本视频中文字幕 | 精品国产乱码久久久久久1区2区 | 欧美在线综合 | 亚洲精品久久久久久下一站 | 亚洲精品成人网 | 国产一级视频免费播放 | 国产一区二区视频在线观看 | 亚州国产 | 视频一区二区三区免费观看 | 中文字幕日韩专区 | 啊v在线视频 | 欧美日韩高清不卡 | 日本精品一区二区在线观看 | 欧美天堂在线观看 | 亚洲wu码 | 欧美黄视频| 久久精品久久久 | 国产精品毛片久久久久久久 | 成人精品免费视频 | 亚洲日韩欧美一区二区在线 | 色视频在线免费观看 | 激情视频在线观看免费 | 97视频精品| 久久久国产精品视频 | 久久另类ts人妖一区二区 | 中国一级毛片 | 亚洲成熟少妇视频在线观看 | 久久小视频 | 国产最好的av国产大片 | 免费视频一区 | 日韩精品免费 | 国产日韩一区二区 | 国产日产精品一区二区三区四区 | 一区二区免费在线 | 精品国产一区二区三区小蝌蚪 | 国产福利片在线观看 | 久久高清 | 在线欧美视频 | 久久久久国产视频 | 免费在线一区二区三区 | 国产美女自拍视频 | 国产精品一卡二卡三卡 | 三级视频在线观看 | 国产精品无码永久免费888 | 一区二区三区欧美 | 97久久香蕉国产线看观看 | 中文成人无字幕乱码精品 | 成人综合区 | 久久精品91久久久久久再现 | 在线观看免费成人av | 成年人视频在线免费观看 | 日韩成人在线免费视频 | 久久久久亚洲精品 | 热久久这里只有精品 | 日韩欧美在线视频 | 欧美一级二级视频 | 日韩在线一区二区 | 午夜视频在线观看网站 | 久久a国产 | 天天舔夜夜操 | 国产精品视频网 | av三级| jlzzjlzz亚洲日本少妇 | 亚洲a网| 久久久久久影院 | 欧美aⅴ| 91精品国产九九九久久久亚洲 | 亚洲国产久 | 国产精品久久久av | 二区影院 | 综合色婷婷一区二区亚洲欧美国产 | 国产精品毛片一区二区三区 | 午夜国产精品成人 | 欧美视频精品在线 | 久久国| 成人免费crm一区二区 | 国产精品美女久久久久久免费 | 欧美一级内谢 | 中文字幕三区 | 中文字幕一区二区三区乱码在线 | 91高清视频在线观看 | 日韩av高清| 欧美男人的天堂 | 欧美精品在线一区 | 欧美激情精品久久久久久 | 免费在线看a | 午夜网址 | 国产成人久久精品麻豆二区 | 福利视频网址导航 | 日本三级在线观看中文字 | 成人国产精品久久久 | 综合伊人久久 | 欧美一级在线 | concern超碰在线 | www.色综合 | 日韩欧美视频一区二区三区 | 亚洲午夜精品一区二区三区 | 国产在线不卡视频 | 久久久久国产一区二区三区 | 国产精品中文字幕在线观看 | 精品久久久久久久久久久久久 | av电影一区二区 | 中文字幕天堂在线 | 国产在线一 | 国产精品一二区 | 国产黄色av| 中文字幕在线三区 | 日韩在线免费视频 | 国产精品综合久久 | 韩日在线观看视频 | 国产超碰人人模人人爽人人添 | 亚洲成av人片一区二区三区 | 日本三级做a全过程在线观看 | 黄色国产 | 亚洲国产成人久久 | 欧美国产综合一区 | 国产精品毛片一区二区在线看 | 久久久国产精品入口麻豆 | 日韩图区| 国产精品久久久久久久久 | 亚洲免费在线观看 | 国内精品视频一区二区三区 | 色视频在线免费观看 | 91精品国产综合久久久久久蜜月 | 91精品一二区 | 免费国产黄网站在线观看视频 | 欧美久久久精品 | 亚洲国产精品一区二区久久 | 欧美日韩在线观看中文字幕 | 国产乱码精品一区二区三区爽爽爽 | 免费午夜视频 | www中文字幕 | 国产精品亚洲天堂 | 日韩中文一区二区三区 | 九一在线观看 | 欧美激情一区二区三级高清视频 | 日韩国产一区二区 | 欧美一级在线视频 | 国产91成人video| 精一区二区 | 国产一在线 | 国产精品二区一区 | 国产精品国产三级国产aⅴ原创 | 欧美成人精品一区二区男人看 | 国产高清一区二区 | 日韩一区二区黄色片 | 日日网| 亚洲日本韩国在线观看 | 夜夜艹 | 亚洲国产成人精品女人久久久 | 日韩二区三区 | 国产精品69毛片高清亚洲 | 久久人人爽人人爽人人片亚洲 | 能在线观看的黄色网址 | 亚洲精品视频在线 | 国产高清精品一区二区三区 | 欧美日韩精品久久久久 | 伊人手机在线视频 | 一区二区三区在线播放 | 免费的黄色毛片 | 一区二区三区不卡视频 | av在线免费观看网站 | 国产精品久久久精品 | 国产精品乱码一区二区三区 | 99视频在线| 亚洲免费在线播放 | 国产精品视频yy9299一区 | 亚洲综合首页 | 女人夜夜春高潮爽a∨片传媒 | 欧美二区精品 | 亚洲国产一区二区三区, | 国产精品亚洲一区 | 国产在线观 | 91视频专区 | 日韩资源 | 精品久久久久久国产 | 欧美精品亚洲精品日韩精品 | 成人精品鲁一区一区二区 | 一道本一区 | 来个毛片 | 欧美一区二区三区在线观看 | 亚洲 欧美 另类 综合 偷拍 | 狠狠操夜夜操 | 看毛片的网站 | 亚洲免费a | 97在线视频免费 | 日韩精品一区二 | 久久久高清 | 国产精品国产成人国产三级 | 日韩欧美一区二区三区免费观看 | 狠狠躁日日躁夜夜躁东南亚 | 午夜私人影院 | 欧美成人免费视频 | 四虎免费紧急入口观看 | 四虎最新入口 | 天天干天天插 | 亚洲高清视频在线 | 国产精品视频一区二区三区不卡 | 国产精品一区二区无线 | 亚洲成人伦理 | 久久综合狠狠综合久久 | 亚洲精品一区二区在线 | 99爱视频 | 久久三区 | 欧美成人免费网站 | 日韩爽妇网 | 亚洲精品在线播放 | 婷婷成人在线 | 三级色网站| 色婷婷激情 | aaaaaaa片毛片免费观看 | 精品国产一区二区三区在线观看 | 久久久久久久国产 | 国产精品久久国产精品 | 日韩在线观看视频免费 | 国产影音先锋 | 精品国产不卡一区二区三区 | 日韩欧美一级精品久久 | 二区久久 | 亚洲午夜精品一区二区三区他趣 | 国产一级免费视频 | 一区二区免费看 | www.国产精 | 性色国产 | 亚洲欧洲免费视频 | 三级无遮挡污在线观看 | 国产精品成人一区二区 | 欧美成在线观看 | 欧美大成色www永久网站婷 | 黄色一级片看看 | 国产一区二区三区四 | 国产成人精品免高潮在线观看 | 国产精品国产a级 | 在线观看免费视频亚洲 | 亚洲成人av电影 | 日韩人体在线 | 久久精品国产99国产精2020新增功能 | 人人草天天草 | 中文成人在线 | 日韩视频一区二区三区 | 久久成人一区二区 | 欧洲成人在线观看 | 欧美久久一区二区三区 | 97久久精品 | 一区二区三区在线免费 | 二区在线视频 | 欧美激情视频一区二区三区在线播放 | 天天干天天av | 草久久久 | 一片毛片 | 亚洲成人三级 | av一二三四 | 视频成人免费 | 91午夜激情 | 亚洲免费电影一区 | 黄色在线观看网址 | 中文字幕日韩一区二区 | 狠狠操麻豆 | 精品亚洲国产成av人片传媒 | 欧洲美女7788成人免费视频 | 国产综合一区二区 | 精品久久一二三区 | 国产一区www | 久久综合一区二区三区 | 免费看爱爱视频 | 国产成人精品一区二区三区 | 成年免费a级毛片 | 日韩1区3区4区第一页 | 中文字幕乱码一区二区三区 | 成人免费在线电影 | www在线观看国产 | 久久综合伊人77777 | 国产成人午夜精品5599 | 亚洲精品三级 | 久久精品国产精品亚洲 | 能直接看的av网站 | 欧美精品1区2区3区 欧美视频在线一区 | 羞羞的视频网站 | 欧美精品一区在线观看 | 国产高清第一页 | 国产视频黄在线观看 | 欧美精品在线观看免费 | 日韩中文一区二区 | 伊人激情网 | 黄网站免费在线观看 | 91tv亚洲精品香蕉国产一区 | 日本一区二区高清不卡 | 久久二区三区 | 欧美日韩一级电影 | 久草成人 | 国产一区二区在线电影 | 久操综合 | 亚洲国产精品成人 | 久久精品久久久 | 日韩欧美一级精品久久 | 精品免费视频 | 精品国产欧美一区二区 | 日日搞夜夜操 | 9色网站 | 一区二区久久 | 日本亚洲欧美 | 日韩毛片免费在线观看 | 久久国产精品免费一区二区三区 | 天天夜操| 激情婷婷 | 狠狠艹| 91久久久久久久久久久 | 日本一区二区三区免费观看 | 开操网 | 国产乱码久久久久久一区二区 | 中文在线一区二区 | 精品久久久久久国产 | 欧美第8页 | 欧美日本韩国一区二区 | 黄色大片网| 成人精品久久 | 久久综合一区 | 九九成人 | 久久久精品高清 | 亚洲精品一区二区三区麻豆 | 一区二区欧美视频 | 青青草一区 | 久草院线 | 国产成人精品在线 | 久久精品99国产精品日本 | 久草久草久草 | 国产精品一区二区在线看 | 午夜国产 | 亚洲精品成人av | 乱轮一区| 亚洲美女网址 | se69色成人网wwwsex | 在线观看免费视频日韩 | 亚洲国产欧美在线 | 久久久久久国产精品 | 日日操视频 | 国产精品二区一区二区aⅴ污介绍 | 99日韩 | 亚洲国产二区三区 | 久久青 | www久久久久 | 久草视频在线播放 | 99re免费视频精品全部 | 嫩草影院永久入口 | 亚洲网站在线观看 | 欧美精品成人 | 91亚洲福利 | 日日摸日日碰夜夜爽不卡dvd | 亚洲一区免费视频 | 欧美精品久久久久久久久久丰满 | 精品www| 中文在线一区 | 老妇激情毛片免费 | 精品国产欧美一区二区 | 久久久久亚洲精品国产 | 久久成人精品视频 | 久久精品一区二区三区不卡牛牛 | 性色视频在线观看 | 羞羞的视频在线免费观看 | av黄色在线观看 | 国产精品久久久久久亚洲调教 | 欧美激情小视频 | 黑人xxx视频 | 日韩欧美精品一区二区三区 | 一区不卡 | 久久久久国产 | 亚洲www啪成人一区二区 | 国产精品人人做人人爽 | 九九热在线免费视频 | 欧美久久a | baoyu133. con永久免费视频 | 国产精品亚洲一区 | 欧美二区三区 | 老牛嫩草一区二区三区眼镜 | 亚洲三级在线观看 | 日本小视频网站 | 亚洲国产一区二区三区, | 午夜激情免费在线观看 | 日韩欧美在线观看视频网站 | 影音先锋在线看片资源 | 亚洲一区 中文字幕 | 福利电影在线 | 热久久这里只有精品 | 九九r热| 91在线电影 | 黄色毛片免费看 | 中文字幕一区二区三区乱码图片 | 国产精品一区二区视频 | 狠狠草视频 | 日韩性欧美 | www.久久久.com | 亚洲91精品| 澳门久久 | 白浆在线播放 | 午夜影院操 | 99精品视频一区二区三区 | 黑人巨大精品欧美一区二区免费 | 精品欧美激情在线观看 | 成人视屏在线观看 | 成年人在线看片 | 日韩欧美国产一区二区三区 | 日韩一区二区观看 | 日韩在线视频网站 | 国产无套丰满白嫩对白 | 欧美高清成人 | 麻豆精品久久久 | 视频一区 中文字幕 | 99久久国产 | 5060毛片| 一级在线观看视频 | h免费在线 | 最新黄色网址在线播放 | 久久精品国产精品亚洲 | 欧美自拍视频 | 欧美精品网站 | 一级电影免费看 | 午夜成人免费电影 | 高清一区二区三区视频 | 日本黄色免费播放 | www.99re| 欧美一区永久视频免费观看 | 中文字幕一区二区三 | 日韩最新网址 | 最新免费av网站 | 日韩欧美在线中文字幕 | 毛片在线免费 | 中文字幕在线观看 | 欧美激情精品久久久久 | www.亚洲成人 | 欧美日黄| 久久三区 | 久久久久久亚洲一区二区三区蜜臀 | 视频一区中文字幕 | 少妇黄色 | 久久九九视频 | 91传媒在线播放 | 亚洲一区二区三区高清 | 午夜三级在线 | 亚洲精品毛片一区二区 | 91成人一区 | 亚洲精品日韩激情欧美 | 日韩中文字幕电影 | 午夜不卡一区二区 | 日日摸天天爽天天爽视频 | 国产综合亚洲精品一区二 | 一级黄色爱爱视频 | 久久精品不卡 | 成人a在线视频 | 国产高清在线看 | 黄理论视频 | 日韩一区二区在线观看 | 亚洲日韩中文字幕 | 91一级| 一区二区三区在线播放 | 国产亚洲精品久久久优势 | 91麻豆精品国产91久久久更新时间 | 亚洲成人一区 | 精品免费国产视频 | 精品亚洲视频在线观看 | 国产精品香蕉 | 日韩色综合| 97国产资源 | 成人一区二区三区四区 | 亚洲免费精品 | 国产精品久久久久9999赢消 | 四虎视频 | 免费黄色小视频 | 亚洲国产激情 | 亚洲精品久久久久久久久久久久久 | 亚洲黄色片免费 | 狠狠躁夜夜躁人人爽天天天天97 | 狠狠躁夜夜躁人人爽天天高潮 | 国产欧美综合一区二区三区 | 亚洲国产成人久久 | 日韩精品视频免费专区在线播放 | 亚洲欧美一区二区三区久久 | 欧美一区二区三区视频 | 婷婷丁香六月天 | 一级黄色录象片 | 在线播放国产一区二区三区 | 97久久久国产精品 | 国产不卡在线观看 | 精品国产一区二区三区久久影院 | 成人免费视频在线观看 | 久久毛片 | 国产区第一页 | 亚洲精品久久久久久下一站 |