django学习笔记之models

djang models

1. 创建model
from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=50)
    
2. 创建记录
        # 两步完成
        p = Book(title='Python')
        p.save()
        # 一步到位
        p = Book.objects.create(title='PHP')
3. 更新记录
    p = Book.objects.all()
    p[0].title = 'JSP'
    p.save()
4. 检索所有记录
    Book.objects.all()
5. 过滤记录
    Book.objects.filter(title='PHP')
    Book.objects.filter(title__contains = 'PH')
    Book.objects.filter(attribute__icontains='php')
    Book.objects.filter(attribute__statswith='ph')
    Book.objects.filter(attribute__endswith='on')
6. 单一检索
   Book.objects.get(attribute=xxx)
注意:
   如果返回多条记录,则抛出错误
   返回为空也会报错
7. 排序
   Book.objects.order_by('PHP')
   Book.objects.order_by('-JSP')
8. 默认排序
   class Book(models.Model):
       title = models.CharField(max_lenth=30)
       author = models.CharField(max_lenth=50)
       class Meta:
            ordering = ['title']
9. 链式查询
    Book.objects.filter('title').order_by('author')
    
10. 切片
    Book.objects.order_by('title')[0]
    Book.objects.order_by('title')[0:2]
    # 不支持负数切片
    # 但是可以使用此方法
    Book.objects.order_by('-title')[0]
11. 一条语句更新多条记录
    Book.objects.all().update(author='Bill Joy' )
12. 删除对象
    p = Book.objects.get(title='JSP')
    p.delete
    
    Book.objects.filter(title='PHP').delete()

谢谢!

你可能感兴趣的:(django,Model)