随机排序
想对查询的结果进行随机排序需要使用?
1 | #随机获取前10条记录 |
不等于过滤
当我们想要使用不等于排除数据的时候,有两种方案
方案一:使用exclude
1 | Blog.objects.filter(author=user).exclude(id=1) |
方案二:使用Q
1 | from django.db.models import Q |
对于ForeignKey对象,clear()和remove()方法仅在null=True时存在。
举个例子:
ForeignKey字段没设置null=True时,
1 | class Book(models.Model): |
没有clear()和remove()方法:
1 | models.Publisher.objects.first().book_set.clear() |
当ForeignKey字段设置null=True时,
1 | class Book(models.Model): |
此时就有clear()和remove()方法:
1 | models.Publisher.objects.first().book_set.clear() |
注意:对于所有类型的关联字段,add()、create()、remove()和clear(),set()都会马上更新数据库。换句话说,在关联的任何一端,都不需要再调用save()方法。
可以使用Concat修改字符串属性
例子:把所有书名后面加上(第一版)
1 | from django.db.models.functions import Concat |