关于django内置的ModelForm小记

django form的生成有两种方式:

1.一种方式django中的模版和表单都是通过我们自己手动生成的

2.第二种方式是利用django中自己带的ModelForm通过对model的继承而来的

下面一些save的方法

<1>通过页面post过来的数据 form接收 直接保存到数据库,同时能够产生对应的modes的一个新对象

  1. f = ArticleForm(request.POST)  
  2. ew_article = f.save() 
<2>从数据库中取出modes的对象,然后通过form参数instance方法能够实例化该form,这个主要用来查看具体的信息

  1. a = Article.objects.get(pk=1)  
  2. f = ArticleForm(instance=a)  
  3. f.save()
<3>既有post又有instance,则以post为主,这个主要用来修改具体的信息

  1. a = Article.objects.get(pk=1)  
  2. f = ArticleForm(request.POST, instance=a)  
  3. f.save() 
<4>特别注意的是,save方法有个参数叫commit,默认是true,即当使用f.save()的时候,会将数据保存到数据库,但是显示指出 commit=false,则不会保存到数据库,这是上面new出来的新对象就会起作用了,这样就可以对数据进行其他的修改了,这个会在后面讲的,,差不 多就这几种方法

下面把完整的案例贴出来:---主要针对是保存,其它大家可以自己试试哈。

你可能感兴趣的:(django,ModelForm)