django model的get和filter方法的区别:
1.django的get方法是从数据库的取得一个匹配的结果,返回一个对象,如果记录不存在的话,它会报错。
2.如果你用django的get去取得关联表的数据的话,而关联表的数据如果多于2条的话也会报错。
3.django的filter方法是从数据库的取得匹配的结果,返回一个对象列表,如果记录不存在的话,它会返回[]。
4.如果你用django的get去取得关联表的数据的话,无论关联表有多少记录的都不会报错。
#验证用户是否登录
def checkLogin(session):
#session 键userid如果不存在对应的值
id = session.get('userid',None)
if id==None:
#转到登录页面
return False,redirect(reverse('lessonlogin'))
else:
return True,id
class LessonForm(forms.Form):
lessonName = fields.CharField(max_length=20)
typeName = fields.ChoiceField()
def __init__(self,*args,**kwargs):
super(LessonForm, self).__init__(*args,**kwargs)
items = models.LessonType.objects.values_list('id','typeName')
self.fields['typeName'].choices=(x for x in items )
# 修改课程所属分类
(将已经存在的值绑定到表单上)
obj = models.LessonType.objects.get(id=id)
form = lessonform.TypeForm(initial={'type': obj.lessiontype})
return redirect(reverse('addType'))
addType:url中的名称












网友评论