博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django复习笔记2:models
阅读量:5750 次
发布时间:2019-06-18

本文共 1924 字,大约阅读时间需要 6 分钟。

关于models,主要想说的是django shell以及生成测试数据的脚本这两部分。

一个models中的类相当于数据库的一张表,先看一个设置了外键的models。

from django.db import modelsfrom django.utils import timezonefrom 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 shellIn [9]: from django.contrib.auth.models import UserIn [10]: User.objects.create(username='huluwa',password='123456')Out[10]: 
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时,需要用User的实例来实现。

 

2.测试数据生成脚本

写了一个简单的测试数据生成脚本每执行一次可生成10条数据。 

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")跟manage.py中一样就行。django.setup()是使上面设置的环境变量生效。

import osimport djangoos.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")django.setup()from blog.models import Postfrom django.contrib.auth.models import Userimport randomimport 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后台检验,相当方便。

随手点进去看看,里面是这样的

转载地址:http://uykkx.baihongyu.com/

你可能感兴趣的文章
使用Wireshark捕捉USB通信数据
查看>>
Apache Storm 官方文档 —— FAQ
查看>>
iOS 高性能异构滚动视图构建方案 —— LazyScrollView
查看>>
Java 重载、重写、构造函数详解
查看>>
【Best Practice】基于阿里云数加·StreamCompute快速构建网站日志实时分析大屏
查看>>
【云栖大会】探索商业升级之路
查看>>
HybridDB实例新购指南
查看>>
C语言及程序设计提高例程-35 使用指针操作二维数组
查看>>
华大基因BGI Online的云计算实践
查看>>
排序高级之交换排序_冒泡排序
查看>>
Cocos2d-x3.2 Ease加速度
查看>>
[EntLib]关于SR.Strings的使用办法[加了下载地址]
查看>>
中小型网站架构分析及优化
查看>>
写shell的事情
查看>>
负载均衡之Haproxy配置详解(及httpd配置)
查看>>
标准与扩展ACL 、 命名ACL 、 总结和答疑
查看>>
查找恶意的TOR中继节点
查看>>
MAVEN 属性定义与使用
查看>>
shell高级视频答学生while循环问题
查看>>
使用@media实现IE hack的方法
查看>>