问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

django 数据模型中 null=True 和 blank=True 有什么区别

发布网友 发布时间:2022-05-01 11:15

我来回答

2个回答

懂视网 时间:2022-05-01 15:36

1.在pyCharm中终端执行如下命令创建app

 python manage.py startapp books

2. 在models.py中编写模型代码

 

from django.db import models

# Create your models here.


class Publisher(models.Model):
 name = models.CharField(max_length=30)
 address = models.CharField(max_length=50)
 city = models.CharField(max_length=60)
 state_province = models.CharField(max_length=30)
 country = models.CharField(max_length=50)
 website = models.URLField()

 def __unicode__(self):
 return self.name

 class Meta:
 ordering = [‘name‘]


class Author(models.Model):
 first_name = models.CharField(max_length=30)
 last_name = models.CharField(max_length=40)
 email = models.EmailField()

 def __unicode__(self):
 return ‘%s %s‘ % (self.first_name, self.last_name)


class Book(models.Model):
 title = models.CharField(max_length=100)
 author = models.ManyToManyField(Author)
 publisher = models.ForeignKey(Publisher)
 publication_date = models.DateField()

 def __unicode__(self):
 return self.title

 

备注: class Meta表示模型的元信息,eg. 缺省排序; __unicode__方法可以进行任何处理来返回一个对象的字符串表示,类似java中的toString()

3. 校验模型的合法性--语法和逻辑是否正确

python manage.py validate

4. 打印出sql(可以查看django模型与建表sql的对应关系)

python manage.py sqlall books

此时数据库并没有创建任何表

5. 创建表

python manage.py syncdb

6. 登录数据库命令行客户端

python manage.py dbshell  (django根据配置文件中配置的数据库信息,自动检测使用不同的命令行客户端)

#########################################################################

如何利用django提供的API进行CRUD操作呢?

1. 创建对象

p1 = Publisher(name="O‘Reilly", address=‘10 Fawcett St.‘, city=‘Cambridge‘, state_province=‘MA‘, country=‘U.S.A.‘, website=‘http://www.oreilly.com/‘)
p1.save()

p2 = Publisher.objects.create(name="O‘Reilly", address=‘10 Fawcett St.‘, city=‘Cambridge‘, state_province=‘MA‘, country=‘U.S.A.‘, website=‘http://www.oreilly.com/‘)

 2. 查询对象

publisher_list = Publisher.objects.all() #返回querySet,一个伪列表对象

publisher_list = Publisher.objects.filter(name=‘Jerry‘) #此处精确匹配name

publisher_list = Publisher.objects.filter(name__contains=‘Jerry‘) #此处模糊匹配name

publisher_list = Publisher.objects.filter(name__contains=‘Jerry‘).order_by(‘name‘) #按字母表正向排序

publisher_list = Publisher.objects.filter(name__contains=‘Jerry‘).order_by(‘-name‘) #按字母表逆向排序

publisher = Publisher.objects.get(name=‘Jerry‘) #返回单个对象,此方法会抛出异常,Publisher.DoesNotExist、MultipleObjectsReturned

3. 更新对象

p1 = Publisher(name="O‘Reilly", address=‘10 Fawcett St.‘, city=‘Cambridge‘, state_province=‘MA‘, country=‘U.S.A.‘, website=‘http://www.oreilly.com/‘)
p1.save()

p1.name=‘update name‘

p1.save() #此方法会更新所有字段,影响性能并且可能会引发竞态条件

Publisher.objects.filter(id=52).update(name=‘Apress Publishing‘) #此方法只更新指定字段,可以有多个参数

4. 删除对象

p = Publisher.objects.get(name="O‘Reilly")
p.delete()
Publisher.objects.all()

Publisher.objects.all().delete() #谨慎使用

 

django数据库模型

标签:

热心网友 时间:2022-05-01 12:44

null:
If True, Django will store empty values as NULL in the database. Default
is False.
如果为True,空值将会被存储为NULL,默认为False。

blank:
If True, the field is allowed to be blank. Default is False.
如果为True,字段允许为空,默认不允许。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
保险柜密码忘了怎么打开 保险柜密码怎么重置 请各位大神为儿子起个名字,五行缺火,姓洪,谢谢! 泰拉瑞亚日食掉落什么日食掉落物品详解 泰拉瑞亚我打日食怎么不掉破英雄剑 泰拉瑞亚打什么怪物掉破英雄剑,日食都刷了2次了。 泰拉瑞亚手机版 日食会掉落一把剑 这把剑怎么用别的方法得到 可以和圣 ... 泰拉瑞亚日食有什么好东西 1.4日食事件掉落物汇总 怎么查询邮政邮寄光大信用卡到哪里了邮政号 1026909661312?_百度... 9岁孩子记性不好是什么原因 苏教版六年级上册语文第一二单元重点字词 一个手机号只可以申请一个吗?如何开通一个微信小号? 一个手机号码怎么能申请两个呢?不用手机号码就不能申请微信了吗?谁能告诉我? 如何申请不用手机号注册 太阳能板海运出口应注意什么 太阳能真空管的支架一箱就是配一个太阳能的么,还是咋整 关于太阳能电池板生产工艺和设备的一些问题 一个25瓦的太阳能灯泡靠近纸箱会着火吗? 装太阳能发电的集装箱我现睡的集装箱板有毒吗 晶澳光伏板540一箱外包装多大尺寸 我想做个纸箱厂利润多少 常州市金星彩印包装厂怎么样? 这样的太阳能怎么拆掉? 太阳能真空管包装箱里有相关合格证吗? 求光伏行业包装箱标准及要求! 在对包装箱厂家做质量审核时需事先了解哪些相关信息? 如何包装运输太阳能板? 请问:“太阳能电池板”出口是如何包装的? 太阳能纸箱 QQ里的表情没文字,怎样才能知道 QQ表情怎样显示文字? 消防证补办流程 oppo手机为啥突然充不进电,手机还老震动,就是不充电 oppo手机充电一直咕咚咕咚的响,太烦人了 手机充不进电还总是响 梦见自己走楼梯的时候踩空了,而且在睡觉时自己的身体也随之抽了一下。这代表什么? 请问大佬有狂刀2021年上映的由 黄劲棠主演的高清视频在线观看资源吗 请问大佬有我的法国电影之旅2016年上映的由贝特朗·塔维涅主演的高清视频在线观看资源吗 伸冤人电影完整版下载? 请问大佬有终极密码战1998年由 布鲁斯·威利斯主演的高清视频在线观看资源吗 请问大佬有不要离开我2021年上映的由姜澯熙主演的高清视频在线观看资源吗 请问大佬有亿万富翁2020年上映的由 埃文·蕾切尔·伍德主演的高清视频在线观看资源吗 请问大佬有你的样子2004年由 Nastassja Kinski主演的高清视频在线观看资源吗 请问大佬有红伶泪1965年上映的由 李丽华主演的高清视频在线观看资源吗 请问大佬有我们今后的故事2019年上映的由玛雅·米切尔主演的高清视频在线观看资源吗 请问大佬有爱的真谛 1996年由稻森泉 Izumi Inamori主演的高清视频在线观看资源吗 光栅单色仪工作原理 什么是光栅光谱测量? 卧薪尝胆故事中的主角是谁? "卧薪尝胆"的主角是谁 成语卧薪尝胆中的主角 腾达路由器F3是否能支持802.1x