中文代码之Django官方入门:建立模型
发布日期:2021-06-29 15:32:07
浏览次数:3
分类:技术文章
本文共 2083 字,大约阅读时间需要 6 分钟。
参考
创建项目后,首先用中文命名应用:
$ python3 manage.py startapp 投票
之后在models.py
建立模型,其他各种相关配置略去,详细请见末尾源码库:
import datetimefrom django.db import modelsfrom django.utils import timezoneclass 问题(models.Model): 内容 = models.CharField(max_length=200) 发问日期 = models.DateTimeField('发布问题日期') def __str__(self): return self.内容 def 刚发问(self): return self.发问日期 >= timezone.now() - datetime.timedelta(days=1)class 选项(models.Model): 问题 = models.ForeignKey(问题, on_delete=models.CASCADE) 内容 = models.CharField(max_length=200) 票数 = models.IntegerField(default=0) def __str__(self): return self.内容
交互环境测试API通过:
$ python3 manage.py shellPython 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21) [Clang 6.0 (clang-600.0.57)] on darwinType "help", "copyright", "credits" or "license" for more information.(InteractiveConsole)>>> from 投票.models import 选项, 问题>>> 问题.objects.all()]>>>> 问题.objects.filter(id=1) ]>>>> 问题.objects.filter(内容__startswith='最') ]>>>> from django.utils import timezone>>> 今年=timezone.now().year>>> >>> 问题.objects.get(发问日期__year=今年) <问题: 最近可好?> >>> 问题.objects.get(id=2)Traceback (most recent call last): File " ", line 1, in 问题:>File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/models/manager.py", line 82, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/models/query.py", line 408, in get self.model._meta.object_name投票.models.问题.DoesNotExist: 问题 matching query does not exist.>>> 问问>>> 问=问题.objects.get(pk=1)>>> 问.刚发问()True>>> 问.选项_set.all() >>> 问.选项_set.create(内容='没啥', 票数=0) <选项: 没啥> >>> 问.选项_set.create(内容='看天', 票数=0) <选项: 看天> >>> 选=问.选项_set.create(内容='打字', 票数=0)>>> 选.问题 <问题: 最近可好?> >>> 问.选项_set.all() , <选项: 看天> , <选项: 打字> ]>>>> 问.选项_set.count()3>>> 选项.objects.filter(问题__发问日期__year=今年) 问题:> 选项:> 选项:>, <选项: 看天> , <选项: 打字> ]>>>> 选=问.选项_set.filter(内容__startswith='打')>>> 选.delete()(1, { '投票.选项': 1})>>> 选项.objects.filter(问题__发问日期__year=今年) 选项:> 选项:>, <选项: 看天> ]> 选项:> 选项:> 选项:>
完整源码在:
测试环境:Python 3.7.3, Django-2.2.3, Mac
转载地址:https://codeinchinese.blog.csdn.net/article/details/95436099 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月07日 04时14分21秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JAVA 和MySQL使用JDBC连接
2019-04-29
JAVA 反射的性能测试
2019-04-29
HTML 初探
2019-04-29
成功关键在于此:如何创造一个有即时价值的最小化可行产品?
2019-04-29
终端大改造:只需五步,构建你的梦中情“端”
2019-04-29
你的代码“balance”怎么样?找到简洁性和可读性的平衡点
2019-04-29
中科院刘康:低资源环境下的事件知识抽取
2019-04-29
提高软件工程技能的关键技术,这些资源赶紧收藏起来
2019-04-29
走进数据科学:最好是通过比网课更好的方法
2019-04-29
机器学习背后的数学支柱,这5本书帮你搞定!
2019-04-29
AI革命第一步:最容易被忽略但必不可少的物联网
2019-04-29
2020年开发运维工具清单:选择开发运维工具堆栈吧
2019-04-29
效率提升法则:高效人士不会去做的4件事
2019-04-29
8.PostgreSQL约束
2019-04-29
【技术分享】使用AES加密技术保障数据安全
2019-04-29
【应用实例】布线多?成本高?不可靠?泽耀方案没烦恼!
2019-04-29
数据可视化工具:Matplotlib绘图
2019-04-29
用Python写个超级小恐龙跑酷游戏,上班摸鱼我能玩一天
2019-04-29
闺蜜看我用Python画了一幅樱花图,吵着要我给他介绍程序员小哥哥
2019-04-29
【Python爬虫实战】知乎热榜数据采集,上班工作摸鱼两不误,知乎热门信息一网打尽
2019-04-29