我想从存储在模型中的所有数据中创建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]