Python 从0开始 一步步基于Django创建项目(4)应用Django shell查看数据模型

Django shell是Django提供的交互式环境,可以通过编程的方式查看数据模型中的数据。

在《Python 从0开始 一步步基于Django创建项目(3)》中已经向数据模型city,添加了两条数据:‘北京’、‘墨尔本’。又向数据模型entry中添加了若干条数据,分别与‘北京’、‘墨尔本’关联。

下面展示如何查看这些数据。

1、启动虚拟环境,运行Django shell

(sg_env) C:\D\Python\Python310\study\snap_gram>python manage.py shell
Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>

2、查看模型City、Entry中的所有数据

>>> from city_infos.models import City,Entry
>>> City.objects.all()
<QuerySet [<City: 北京>, <City: 墨尔本>]>
>>> Entry.objects.all()
<QuerySet [<Entry: 北京是中国的首都,也是中国政治、文化和经济的中心。...>, <Entry: 作为中国历史悠久的古都之一,北京拥有 丰富的文化遗产和历史景点,如故宫、天坛、颐和园等。...>, <Entry: 除了历史古迹外,北京还是现代化城市,拥有高楼大厦、现代化交通系统和世界级的文化活动。...>, <Entry: 北京也是中国的教育和科研中心,拥有众多知名大学和科研机构。...>, <Entry: 墨尔本是澳大利亚的一座城市,位于维多利亚州的东南部。...>, <Entry: 作为澳大利亚第二大城市,墨尔本是一个多元文化、现代化和充满活力的城市。它以其丰富的艺术文化、美食、体...>, <Entry: 墨尔本拥有许多知名的景点和活动,如墨尔本博物馆、皇家展览馆、墨尔本动物园以及著名的墨尔本板球场。...>, <Entry: 此外,墨尔本也因其丰富多样的餐饮文化和咖啡文化而备受推崇,被誉为全球最适合居住的城市之一。...>]>

3、查看模型City、Entry中的所有数据及其ID

编写代码时,注意缩进。

>>> cities = City.objects.all()
>>> for city in cities:
...     print(city.id,city)
...
1 北京
2 墨尔本
>>> entries = Entry.objects.all()
>>> for entry in entries:
...     print(entry.id,entry)
...
1 北京是中国的首都,也是中国政治、文化和经济的中心。...
2 作为中国历史悠久的古都之一,北京拥有丰富的文化遗产和历史景点,如故宫、天坛、颐和园等。...
3 除了历史古迹外,北京还是现代化城市,拥有高楼大厦、现代化交通系统和世界级的文化活动。...
4 北京也是中国的教育和科研中心,拥有众多知名大学和科研机构。...
5 墨尔本是澳大利亚的一座城市,位于维多利亚州的东南部。...
6 作为澳大利亚第二大城市,墨尔本是一个多元文化、现代化和充满活力的城市。它以其丰富的艺术文化、美食、体...
7 墨尔本拥有许多知名的景点和活动,如墨尔本博物馆、皇家展览馆、墨尔本动物园以及著名的墨尔本板球场。...
8 此外,墨尔本也因其丰富多样的餐饮文化和咖啡文化而备受推崇,被誉为全球最适合居住的城市之一。...
>>>

4、通过ID查看其他属性

>>> city = City.objects.get(id=1)
>>> city.name
'北京'
>>> city.date_added
datetime.datetime(2024, 3, 23, 9, 33, 38, 593002, tzinfo=datetime.timezone.utc)
>>>

5、查看与‘北京’相关联的条目

>>> city.entry_set.all()
<QuerySet [<Entry: 北京是中国的首都,也是中国政治、文化和经济的中心。...>, <Entry: 作为中国历史悠久的古都之一,北京拥有 丰富的文化遗产和历史景点,如故宫、天坛、颐和园等。...>, <Entry: 北京也是中国的教育和科研中心,拥有众多知名大学和科研机构。...>]>
>>>

注意:此处的entry_set并不是City的方法。而是把City当做外键的,相关模型的小写名称、下划线和单词set的组合。如果与City相关联的数据模型类叫做Info,那么这里就应该使用:

city.info_set.all()

6、退出Django shell

先按下ctrl+z,然后‘回车’。

>>> ^Z

now exiting InteractiveConsole...

(sg_env) C:\D\Python\Python310\study\snap_gram>

最近更新

  1. TCP协议是安全的吗?

    2024-03-23 21:20:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-23 21:20:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-23 21:20:06       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-23 21:20:06       20 阅读

热门阅读

  1. C语言动态内存管理

    2024-03-23 21:20:06       20 阅读
  2. Hashmap和Hashtable的区别

    2024-03-23 21:20:06       21 阅读
  3. 蓝桥杯破损的楼梯

    2024-03-23 21:20:06       20 阅读
  4. Spring的炼气之路(炼气三层)

    2024-03-23 21:20:06       20 阅读
  5. Vue框架学习(二)

    2024-03-23 21:20:06       16 阅读
  6. P1109 学生分组

    2024-03-23 21:20:06       22 阅读
  7. 算法之完全平方数的最少数量

    2024-03-23 21:20:06       22 阅读
  8. JVM内存溢出排查

    2024-03-23 21:20:06       23 阅读