【发布时间】:2016-08-10 18:17:57
【问题描述】:
我想从模型中存储的所有数据中创建 id 的下拉菜单。稍后我想将该 id 传递给我的 views.py 以填充我的表单以进行更新。我该怎么办?
我知道我需要一些表单域和视图,但我不知道该怎么做。我是 Django 的新手,所以这对我来说比较陌生。任何帮助都会非常有用。
models.py -
class TVchannel(models.Model):
name = models.CharField(max_length=50, verbose_name="Name of program")
type = models.CharField(max_length=50, verbose_name="Type of program")
state = models.CharField(max_length=50, verbose_name="Channel state")
price = models.IntegerField(validators=[MinValueValidator(1)], verbose_name="Price of channel")
def __str__(self):
return self.name<code>
views.py - 更新视图
def userUP(request, user_id):
#instance = get_object_or_404(TVchannel, id=user_id)
queryset = TVchannel.objects.filter(id=user_id)
if request.method == 'POST':
form = TVchannelUpdateForm(request.POST)
if form.is_valid():
updateIt = TVchannel.objects.get(pk=id)
form = TVchannelUpdateForm(request.POST, instance = updateIt)
form.save()
return HttpResponseRedirect('/')
else:
updateIt = TVchannel.objects.get(pk = id)
form = TVchannelUpdateForm(insance = updateIt)
return render_to_response('app/updateTVchannel.html', {'form': form}, context_instance=RequestContext(request))<code>
forms.py - 更新表单
class TVchannelUpdateForm(ModelForm):
class Meta:
model = TVchannel
fields = ['name', 'type', 'state', 'price]
【问题讨论】:
标签: django python-2.7 django-models django-forms dropdown