【发布时间】:2015-06-04 00:03:23
【问题描述】:
我有一个具有以下字段的模型:
class Dataset(models.Model):
dataset_id = models.TextField(primary_key=True)
title = models.TextField(blank=True, null=True)
taxonomy = models.ForeignKey('Organism', blank=True, null=True)
citation = models.TextField(blank=True, null=True)
summary = models.TextField(blank=True, null=True)
contributor = models.TextField(blank=True, null=True) # This field type is a guess.
submitted = models.DateField(blank=True, null=True)
last_updated = models.DateField(blank=True, null=True)
author = models.ForeignKey('Users', db_column='author', blank=True, null=True)
class Meta:
managed = False
db_table = 'dataset'
以及下面的表格和视图。
class DatasetForm(forms.ModelForm):
dataset_id = forms.CharField(required=True,help_text="dataset_id")
title = forms.CharField(required=True,help_text="title")
taxonomy = forms.IntegerField(required=True,help_text="taxanomy id (ingeter)")
citation = forms.CharField(required=True,help_text="citation")
summary = forms.CharField(required=True,help_text="summary")
contributor = forms.CharField(help_text="contributor (separated by comma)")
submitted = forms.DateField(initial = datetime.now,required=True,help_text="Submitted date")
last_updated = forms.DateField(initial = datetime.now,required=True,help_text="Last Updated date")
author = forms.IntegerField(required=True,help_text="Author For now enter an integer")
class Meta:
model = Dataset
fields = ('dataset_id','title','taxonomy','citation','summary','contributor','submitted','last_updated','author')
和视图:
def add_dataset(request):
context_dict = {}
if request.method == 'POST':
req_dict = request.POST.copy()
req_dict['taxonomy'] = Organism.objects.filter(taxonomy_id=request.POST['taxonomy'])
req_dict['author'] = Users.objects.filter(id=request.POST['author'])
form = DatasetForm(req_dict)
if form.is_valid():
return HttpResponseRedirect('/msrb/')
else:
print form
print form.errors
else:
form = DatasetForm()
context_dict['form'] = form
template = get_template('msrb/add_dataset.html')
context = RequestContext(request,context_dict)
return HttpResponse(template.render(context))
我需要插入数据库。 现在,当我将 request.POST 复制到另一个变量并尝试验证表单时,我会收到 ForeignKey 的字段错误
输入一个整数。
但是,如果我不复制 request.POST,我也无法验证表单。
我不知道如何进行。任何指针都会有所帮助
【问题讨论】: