在对step by step的第六讲进行学习时,在操作到,新建完wiki的app后,修改model.py这个文件后,
运行 :python manage.py syncdb这个命令时会报出以下这个异常:
经查,只要将maxlenage更改为[size=medium][color=red]max_lenag[/color][/size]即可。
运行后,会在相应的数据库里新建一个表,表名的规则个人猜测为app的模块名+下划线+models里的class名(小写),因为在我这里生成的是表名是:wiki_wiki.
其后的按照教程里的照抄即可,没有其它问题,只是到了最后显示的时候,会好html标签进行转义,所以并不能完全实现例子,但可以通修改URL达到相应的效果。
本节知识点:
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()方法:运行该方法时会将数据持久化到数据库中去。