如何解决使用 Django 外键创建多文件上传器
我正在尝试创建一个 JobRequestFile 表单,您可以在其中将涉及外键的多个文件上传到我的 JobRequest 模型。但是,在尝试保存时,它会将我带到我的 JobRequest 表单并说这些字段是必需的。
我的表格:
class Meta:
model = JobRequestFile
fields = [
'file'
]
widgets = {
'file': ClearableFileInput(attrs={'multiple': True}),}
我的观点:
class FileUpload(FormView):
form_class = JobRequestFileForm
template_name = 'jobrequest/upload.html' # Replace with your template.
success_url = 'loggedIn'
def post(self,request,*args,**kwargs):
form_class = self.get_form_class()
form = self.get_form(form_class)
files = request.FILES.getlist('file')
if form.is_valid():
most_recent_jr = JobRequest.get.latest('requestDate')
for f in files:
JobRequestFile.object.create(jobRequest=most_recent_jr,file=f)
return self.form_valid(form)
else:
return self.form_invalid(form)
我的模板:
<form action='.' method='POST' enctype='multipart/form-data'>
{% csrf_token %}
{{ form.as_p }}
<input type='submit' value='Save' />
</form>
两种模型:
class JobRequest(models.Model):
customer = models.ForeignKey('account.Customer',on_delete=models.CASCADE)
partnerTypeNeeded = models.CharField('PartnerTypeNeeded',max_length=30,choices=PartnerMore.PartnerTypes.choices)
issueDescription = models.TextField(blank=True)
communa = models.CharField(unique=False,default='0')
serviceDate = models.DateTimeField()
requestDate = models.DateTimeField(auto_Now_add=True,null=False,blank=False)
budget = models.FileField(upload_to='budget/%Y/%m/',null=True,blank=True)
jobCompleted = models.BooleanField(default=False)
partner = models.ForeignKey('account.Partner',on_delete=models.SET_NULL,blank=True,related_name='assignedPartner')
suggestedPartner = models.ForeignKey('account.Partner',related_name='suggestion')
class JobRequestFile(models.Model):
jobRequest = models.ForeignKey('JobRequest',on_delete=models.CASCADE)
file = models.FileField(upload_to='files/%Y/%m/')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。