创建Model(6)-使用Model API操作数据

增加一个自定义的方法,注意,这里需要导入python标准模块(moduel)datetime,以及Django’s time-zone-related utilities

import datetime
from django.utils import timezone
class Task(models.Model):
    ......
    def was_created_recently(self):
        return self.create_date >= timezone.now() - datetime.timedelta(days=1)
    ......

获取第一个对象,最后一个对象

In [48]: from django.utils import timezone

In [49]: from task_tool.models import Task

In [50]: Task.objects.all()
Out[50]: , , , , , , , , , , ,
 ]>

In [51]: Task.objects.first()
Out[51]: 

In [52]: Task.objects.first().id
Out[52]: 90

In [53]: Task.objects.last()
Out[53]: 

In [54]: Task.objects.last().id
Out[54]: 102

获取标题以“new”开头的任务

In [55]: Task.objects.filter(title__startswith='new')
Out[55]: ]>

获取今年创建的任务

In [56]: current_year = timezone.now().year

In [57]: Task.objects.filter(create_date__year=current_year)
Out[57]: , , , , , , , , , , ,
 ]>

获取ID是90的任务,判断它是不是今天创建的

In [58]: t = Task.objects.get(id=90)

In [59]: t.was_created_recently()
Out[59]: False

你可能感兴趣的:(创建Model(6)-使用Model API操作数据)