修正django step by step第六讲的小错误及知识点

在对step by step的第六讲进行学习时,在操作到,新建完wiki的app后,修改model.py这个文件后,

from django.db import models

# Create your models here.
class Wiki(models.Model):
pagename = models.CharField(maxlength=20, unique=True)
content = models.TextField()

运行 :python manage.py syncdb这个命令时会报出以下这个异常:

TypeError: __init__() got an unexpected keyword argument 'maxlength'


经查,只要将maxlenage更改为[size=medium][color=red]max_lenag[/color][/size]即可。

运行后,会在相应的数据库里新建一个表,表名的规则个人猜测为app的模块名+下划线+models里的class名(小写),因为在我这里生成的是表名是:wiki_wiki.

其后的按照教程里的照抄即可,没有其它问题,只是到了最后显示的时候,会好html标签进行转义,所以并不能完全实现例子,但可以通修改URL达到相应的效果。

本节知识点:

all() 会返回全部记录, filter() 会根据条件返回部分记录

xxx.objects 对象有

filter() 方法:返回一个结果集,指定的记录不存在,它并不是返回一个 None 对象,而是抛出异常。通过 filter() 如果存在则结果中应有一个元素,如果不存在则应该是一个 [] 。这样就知道是否有返回了。如例子中的pages[0].content,pages[0].pagename

get() 方法 : 一个返回指定的对象。如例子中的:page.pagename,page.content

save()方法:运行该方法时会将数据持久化到数据库中去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值