在我的项目中,我与一个Serie有多对一的关系,最多有20个样本。我正在尝试实现一个用户上传(csv)文件的系统,然后将其发送到可以填写任何缺失数据的页面。我还没有找到实现这个目的的方法,并且正在寻求一些帮助。我的想法是,我想要一个表,每行有4个字段,这些字段链接到有问题的样本,表中的行数与(csv)文件中的样本一样多。此外,如果其中一个字段已经存在数据,我希望它预先填充相关字段。最后,通过按下底部的单个保存按钮来提交更新的数据,因此它应该是一个大的形式。
我添加了以下模型。我想在表单中更新的属性是索引,池和备注,它们可能已经存在于csv文件中,但通常不存在。 任何人都可以给我任何关于如何实现这个或提示最适合实现这样的方法的提示吗?
模型
class Sample(models.Model):
name = models.CharField(max_length=20)
pool = models.ForeignKey(Pool, blank=True, null=True)
serie = models.ForeignKey(Serie, blank=True, null = True)
index = models.ForeignKey(Index, blank=True, null=True)
remarks = models.CharField(max_length=50, blank=True)
def __str__(self):
return self.name
class Serie(models.Model):
a_type = models.ForeignKey(Atype)
name = models.IntegerField()
def __str__(self):
return str(self.a_type)+'-'+str(self.name)
浏览
def serie_edit(request,serie_id):
try:
serie = Serie.objects.get(pk=serie_id)
except Serie.DoesNotExist:
raise Http404
index_list = Index.objects.all()
sample_list = Sample.objects.filter(serie__id = serie_id)
return render(request, 'samples/serie_edit.html', {'serie':serie, 'sample_list':sample_list, 'index_list':index_list})