【发布时间】:2022-01-27 06:08:02
【问题描述】:
我有基因组文件,我希望每个用户都能够上传他们自己的基因组文件,但他们只能拥有其中一个。我想要这样,如果他们尝试上传另一个,那么他们只会替换基因组并为最后一个条目形成数据。
我正在使用他们的条目以及使用该网站的 n 人(每个人也有每人 1 个条目)作为样本来分析该人的基因组,因此我想保留一个包含基因组的模型文件,姓名、性别等……但每个用户只有一个。
这是我的 models.py 文件
from django.db import models
from django.core.exceptions import ObjectDoesNotExist
SEX_CHOICES = (
('M', 'Male'),
('F', 'Female')
)
class Genome(models.Model):
first_name = models.CharField(max_length=25)
last_name = models.CharField(max_length=25)
CHOICES = [('M','Male'),('F','Female')]
sex = models.CharField(max_length=1, choices=SEX_CHOICES, default='M')
genome = models.FileField(upload_to='users/genomes/')
#id = request.user.id
#if id is the current user then replace old data with new data
def __str__(self):
return self.title
这是我的意见功能
def upload(request):
context = {}
if request.method == 'POST':
form = GenomeForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('My-DNA.html')
else:
form = GenomeForm()
return render(request, 'my-DNA.html', {context})
else:
print("failure")
form = GenomeForm()
return render(request, 'Upload.html', {
'form': form
})
我只是想要一种方法来将用户限制为一个响应,同时仍然拥有来自其他人的许多基因组列表来进行比较。
谢谢
【问题讨论】:
-
为什么不能用这么简单的视图更新文件
-
谢谢,我该怎么做?这似乎可行。如何在更新之前检查那里是否有数据?
标签: python django django-models django-views userid