您的位置:首页 > 运维架构 > Shell

django shell 方式数据查询

2016-12-22 11:01 453 查看
一。table.objects.get()方法是从数据库的取得一个匹配的结果,返回一个对象,如果记录不存在的话,它会报错。

而且该方法为完全匹配查询通过该方法进行模糊查询,会:DoesNotExist:
Event matching query does not exist.的异常

举例:

1.完全匹配查询

>> e1 = Event.objects.get(name='xiaomi')

>> e1

结果:<Event: one add>

>>e1.address

结果:u'changanlu'

2.模糊查询(正确的情况下,会有xiaomi,heimi等)

>> Event.objects.get(name='mi')


报错如下:

Traceback (most recent call last):

  File "<console>", line 1, in <module>

  File "D:\python_install\python2\lib\site-packages\django\db\models\manager.py"

, line 122, in manager_method

    return getattr(self.get_queryset(), name)(*args, **kwargs)

  File "D:\python_install\python2\lib\site-packages\django\db\models\query.py",

line 387, in get

    self.model._meta.object_name

DoesNotExist: Event matching query does not exist.




二。table.objects.filter()方法是从数据库的取得匹配的结果返回一个对象列表,如果记录不存在的话,它会返回[]。

该方法进行模糊查询

举例:

>>> Event.objects.filter(name__contains='mi') #说明:此处是两个下划线。contains 部分会被Django 翻译成LIKE 语句

结果:

[<Event: hongmi pro>, <Event: heimi pro>, <Event: dami pro>]


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: