您好,登錄后才能下訂單哦!
自定義查詢對象 - objects
①聲明一個類EntryManager,繼承自models.Manager,并添加自定義函數
②使用創建的自定義類EntryManager 覆蓋Models中的objects
# models.py class AuthorManager(models.Manager): # 新建一個類,繼承自models.Manager def name_count(self, keywords): # 添加自定義的查詢函數 '''統計姓名中含有某些關鍵字的數量''' return self.filter(name__contains=keywords).count() def lt_age(self, age): '''查詢年齡小于指定年齡的信息''' return self.filter(age__lt=age) class Author(models.Model): objects = AuthorManager() # 使用創建的自定義類覆蓋objects name = models.CharField(max_length=30, verbose_name='姓名') age = models.IntegerField(verbose_name='年齡') email = models.EmailField(null=True, verbose_name='郵箱') picture = models.ImageField(null=True, upload_to='static/upload/usring', verbose_name='用戶頭像') publisher = models.ManyToManyField(Publisher, null=True, verbose_name='出版社') # views.py def myself(request): '''自定義查詢函數''' # 統計名字中包含王字的 num = Author.objects.name_count(keywords='王') # 查詢年齡小于36的作者信息 authors = Author.objects.lt_age(age=36) return render(request, 'name_count.html', locals())
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。