首頁 > Python > 使用django modelform的save()之後,可以取得model的資料

使用django modelform的save()之後,可以取得model的資料

2012年2月21日 發表評論 閱讀評論

原來在用modelform時,還有一個方便的小地方
原文件請看:https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#the-save-method

當新增一筆資料後,我想取得這筆資料的id,其實可以這樣做:
model:
[ccc language="python"]
class ADProject(models.Model):
platform = models.ForeignKey(Platform)
name = models.CharField(_(‘name’), max_length=200)
[/ccc]

form:
[ccc language="python"]
class ADProjectBGMAdminForm(forms.ModelForm):
class Meta:
model = ADProject
[/ccc]

view:
[ccc language="python" highlight="5″]
def adproject_create(request):
form = AdprojectForm(request.POST or None)

if form.is_valid():
f = form.save()
return HttpResponse(‘platform id is:%s, this new id is:%s’ % (str(f.platform.id), str(f.id)))

return render(request, ‘adproject-create.html’, {
‘form’: form
})
[/ccc]

重點就在第5行,似乎是方便多了

Categories: Python Tags: , ,
  1. 目前尚無任何的評論。