我正在尝试将旧版数据库条目传递给Django表单。
我使用django inspectdb方法创建了模型。
类似于:
class Form(models.Model):
date_entered = models.DateField(blank=True, null=True)
date_needed = models.DateField(blank=True, null=True)
client = models.CharField(max_length=50, blank=True, null=True)
project_no = models.CharField(max_length=50, blank=True, null=True)
map_no = models.CharField(max_length=10, blank=True, null=True)
contact = models.CharField(max_length=50, blank=True, null=True)
我已经在views.py中创建了相应的视图。
def post_edit(request, pk):
post = get_object_or_404(Form, pk=pk)
if request.method == "POST":
form = PostForm(request.POST, instance=post)
if form.is_valid():
post = form.save(commit=False)
post.author = request.user
post.published_date = timezone.now()
post.save()
return redirect('post_detail', pk=post.pk)
else:
form = PostForm(instance=post)
return render(request, 'blog/post_edit.html', {'form': form})
在我的post_edit.html中。
<input type="text" class="form-control" name="client" value= '{{ form.client.value }}' required/>
<input type="text" name="projectno" class="form-control" value= '{{ form.project_no.value }}' required/>
..
<input type="text" name="jobcontact" class="form-control" value='{{ form.contact.value }}' required/>
客户和 project_no 起作用(在表单上生成值),而联系人则不起作用。我已经验证了模型中的名称以及db表中是否存在该值。
我应该为这些输入值传递其他信息。我是django的新手。请帮助。
编辑:添加类PostForm()。如接受的答案中所标识的,仅两个字段已添加到类PostForm()中。添加restig类后,表单将填充值。
class PostForm(forms.ModelForm):
class Meta:
model = Form
fields = ('project_no', 'client',)