如何将实例发送到ModelForms并使用该实例填充表单

时间:2011-10-27 08:11:16

标签: python django

我有这样的表格:

class TourForm(ModelForm):
   class Meta:
       model = Tour 

我想设计一个编辑页面,所以我将tour_id发送到页面并使用该tour_id进行巡视,现在我想填写这个表格的旅游实例我已经gotton。在views.py中这样的事情:

tour=Tour.objects.get(pk=tour_id)
tform = TourForm(request.POST, request.FILES,instance=tour)

任何帮助?

更新

这些是模特:

class Gallery(models.Model):
   HeadImage = models.ImageField(upload_to="gallery")

class Image(models.Model):
   Image = models.ImageField(upload_to="gallery")
   Gallery = models.ForeignKey(Gallery, related_name='images')



class Tour(models.Model):
   Name=models.CharField(max_length=100)
   Count=models.SmallIntegerField() 
   PriceUnit=models.ForeignKey(PriceUnit)
   Price=models.CharField(max_length=12)
   Description=models.TextField()
   ActionDate=models.DateTimeField(auto_now=True,editable=False)
   ActionUser=models.ForeignKey(User,editable=False)
   StatusType=models.ForeignKey(StatusType)
   Gallery = models.OneToOneField(Gallery,editable=False)

像PriceUnit和StatusType这样的foreigkey字段不填写表格。

提前致谢

1 个答案:

答案 0 :(得分:1)

我认为你不应该同时传递实例nad request.POSt。尝试做这样的事情:

if request.method == "POST":
    tform = TourForm(request.POST, request.FILES)
else
    tform = TourForm(instance=tour)