选课系统

2017-11-16  本文已影响0人  lijun_m

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中的名称

上一篇 下一篇

猜你喜欢

热点阅读