玩弄 API现在,我们进入 Python 的交互式 shell 中玩弄 Django 提供给你的 API 。要调用 Python sell ,使用如下命令: python manage.py shell
我们当前使用的环境不同于简单的输入 “python” 进入的 shell 环境,因为 忽略 manage.py 若你不想使用 想了解更多的信息,请参考 django-admin.py 文档 。 一旦你进入了 shell,就可通过 database API 来浏览数据:: >>> from polls.models import Poll, Choice # Import the model classes we just wrote.
# 系统中还没有 polls 。
>>> Poll.objects.all()
[]
# 创建一个新 Poll 。
# 在默认配置文件中时区支持配置是启用的,
# 因此 Django 希望为 pub_date 字段获取一个 datetime with tzinfo 。使用了 timezone.now()
# 而不是 datetime.datetime.now() 以便获取正确的值。
>>> from django.utils import timezone
>>> p = Poll(question="What's new?", pub_date=timezone.now())
# 保存对象到数据库中。你必须显示调用 save() 方法。
>>> p.save()
# 现在对象拥有了一个ID 。请注意这可能会显示 "1L" 而不是 "1",取决于
# 你正在使用的数据库。 这没什么大不了的,它只是意味着你的数据库后端
# 喜欢返回的整型数作为 Python 的长整型对象而已。
>>> p.id
1
# 通过 Python 属性访问数据库中的列。
>>> p.question
"What's new?"
>>> p.pub_date
datetime.datetime(2012, 2, 26, 13, 0, 0, 775217, tzinfo=<UTC>)
# 通过改为属性值来改变值,然后调用 save() 方法。
>>> p.question = "What's up?"
>>> p.save()
# objects.all() 用以显示数据库中所有的 polls 。
>>> Poll.objects.all()
[<Poll: Poll object>]
请稍等。 class Poll(models.Model):
# ...
def __unicode__(self):
return self.question
class Choice(models.Model):
# ...
def __unicode__(self):
return self.choice_text |
Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )
GMT+8, 2024-12-5 03:10 , Processed in 0.019937 second(s), 17 queries .