django复习笔记2:models
关于models,主要想说的是django shell以及生成测试数据的脚本这两部分。
一个models中的类相当于数据库的一张表,先看一个设置了外键的models。
from django.db import models from django.utils import timezone from django.contrib.auth.models import Userclass Post(models.Model):author = models.ForeignKey(User)title = models.CharField(max_length=200)text = models.TextField()created_date = models.DateTimeField(default=timezone.now)published_date = models.DateTimeField(blank=True,null=True)# comment = models.CharField(max_length=200)def publish(self):self.published_date = timezone.now()self.save()def __str__(self):return self.title
这里author的外键为User.
1.django shell的使用
sh-3.2# python manage.py shell In [9]: from django.contrib.auth.models import UserIn [10]: User.objects.create(username='huluwa',password='123456') Out[10]: <User: huluwa>In [11]: user=User.objects.get(username='huluwa')In [12]: from blog.models import PostIn [13]: Post.objects.create(username=user,title='tttt',text='test text')In [14]: Post.objects.create(author=user,title='tttt',text='test text') Out[14]: <Post: tttt>
因为使用了外键,所以创建Post时,需要用User的实例来实现。
2.测试数据生成脚本
写了一个简单的测试数据生成脚本每执行一次可生成10条数据。
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")跟manage.py中一样就行。django.setup()是使上面设置的环境变量生效。
import os import django os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") django.setup()from blog.models import Post from django.contrib.auth.models import Userimport random import stringfor i in range(10):add_user = ''.join(random.sample(string.ascii_letters, 4))title = ''.join(random.sample(string.digits, 10))text = ''.join(random.sample(string.ascii_letters+string.digits, 20))User.objects.create(username='%s' %add_user)user = User.objects.get(username='%s' %add_user)post=Post.objects.create(author=user,title = title, text = text)post.publish()
django生成测试数据是很简单的。思路大概就是这样了。生成后可以直接去admin后台检验,相当方便。
随手点进去看看,里面是这样的
转载于:https://www.cnblogs.com/alexkn/p/4803751.html
django复习笔记2:models相关推荐
- django 学习笔记
django 学习笔记 启动虚拟机: workon bj18_py3 创建一个项目: django-admin.py startproject mysite 启动开发用服务器:从外层项目 mysite ...
- django学习笔记02
原创博客地址:django学习笔记02 第一章:模型层 1.8 查询操作 一.创建对象 1 2 3 4 5 >>> from blog.models import Blog > ...
- django学习笔记01
原创博客地址:django学习笔记01 基于教程,刘江的博客教程Django教程:https://www.liujiangblog.com/course/django/87 第一章:模型层 1.1 模 ...
- 千锋Django学习笔记
千锋Django学习笔记 文章目录 千锋Django学习笔记 写在前面 1. MVC和MTV 2. Django简介 3. MTV简单流程 4. 和Model的简单对接 5. Model 6. Tem ...
- 20121025 The django book 笔记 站点管理
20121025 The django book 笔记 站点管理 20121025 The django book 笔记 站点管理 - zhu327 - 博客园 20121025 The django ...
- 梅科尔工作室-Django学习笔记(二次学习)(3)
本次学习的是如何用django实现前端鸿蒙OS登录 下面介绍一下本次的操作过程. 1.首先创立MySQL数据并将数据库导入到django当中 其中:导入数据库的操作: 2.配置urls 对应新建的pe ...
- Spring复习笔记:4
在复习笔记三中我们进行的案例的编写,我们可以发现,就算使用了注解的方式,xml配置文件文件还是不能够删除,现在我们来将一些新的注解可以让我们去掉xml配置文件. @Configuration 作用:指 ...
- matlab arr3(5 end),matlab复习笔记.doc
matlab复习笔记.doc 如果一个语句在一行内书写太长了,可能要另起一行接着写,在这种情况下我们需要在第一行末打上半个省略号(),再开始第二行的书写.历史命令窗口(THEHISTORYCOMMAN ...
- 数据结构(c语言版)笔记6,2020考研计算机《数据结构(C语言版)》复习笔记(6)
2020年计算机考研复习已经开始,新东方在线在此整理了2020考研计算机<数据结构(C语言版)>复习笔记(6),希望能帮助大家! 第六章 树知识点整理 树是n个结点的有限集合,非空时必须满 ...
- 2018.8.14-C#复习笔记总
2018.8.14-C#复习笔记总 using System; using System.Collections.Generic; //using System.Linq; using System. ...
最新文章
- 30 整数中1出现的次数(从1到n整数中1出现的次数)这题很难要多看*
- 案例分析 | 由Decimal操作计算引发的Spark数据丢失问题
- 2018蓝桥杯省赛---java---A---1(分数)
- x264里的2pass指的是什么意思? x264源代码分析2.encode()
- python商业分析_科研进阶 | 纽约大学 | 商业分析、量化金融:基于Python的商业分析工具...
- Pandas 中文文档
- 推荐系统入门必读论文
- π-Algorithmist分类题目(1)
- PreparedStatement详解
- python北风网培训班视频
- 12款惊人的HTML5Flash视频播放器
- Frida cmd常用命令
- element table实现前端分页
- 解决一例Fedora 31安装NVIDIA官方驱动程序无法使用DKMS注册的问题
- 百度地图标记点加点击事件和鼠标移入事件并添加数据
- 中继器、集线器、网桥、交换机、路由器、网关的超全总结
- BES2300x笔记(4) -- TWS组对与蓝牙配对(Peer or Pair傻傻分不清)
- 认识计算机教案流程图,流程图教案信息技术.doc
- [Unity3D]Unity3D游戏开发之从《魂斗罗》游戏说起(上)——目标追踪
- Scratch模拟题(二级)_1