如何将多数据表单插入数据库

时间:2017-01-18 10:08:01

标签: python django python-3.x

我试图用django将一些文件和json数据插入数据库。 (我对Django来说是全新的,所以请怜悯:))

我的模型如下:

class Files(models.Model):
   user = models.OneToOneField(User, on_delete=models.CASCADE)
   file_type = models.ForeignKey(to=FileType)
   file = models.FileField(upload_to='media/%Y/%m/%d/', blank=True)

   def __str__(self):
       return self.file_type.name

我获取数据的视图如下:

def save_user(request):
    user = json.loads(request.POST.get("user"))
    for file_key in request.FILES.keys():
        file = Files()
        file.file_type = FileType.get_by_key(file_key.split('/')[1])
        file.file = request.FILES[file_key]
        file.save()

    return HttpResponse("User saving...")

我收到请求的数据如下:

request.FILES

<MultiValueDict: {'file/ID_CARD': [<InMemoryUploadedFile: check.png (image/png)>], 'file/STATUTES': [<InMemoryUploadedFile: pictures.xlsx (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)>]}>

用户

{'companyName': 'Autralis', 'btwNumber': '84515', 'address': 'Hundelgemsesteenweg 575', 'country': 'Belgium', 'zipcode': '9820', 'place': 'Merelbeke', 'phone': '+32 486386069', 'mobilePhone': '+32 486386069', 'firstName': 'Maida', 'lastName': 'Mesanovic', 'email': 'maida@autralis.com', 'userName': 'Maida', 'password': '123', 'confirmPassword': '123', 'files': [{'file_type': 'LETTER_HEAD', 'values': {'active': False, 'fileName': 'Blank letterhead', 'file': None}}, {'file_type': 'COMPANY_PICTURE', 'values': {'active': False, 'fileName': 'Company photo', 'file': None}}, {'file_type': 'ID_CARD', 'values': {'active': True, 'fileName': 'check', 'file': {}}}, {'file_type': 'STATUTES', 'values': {'active': True, 'fileName': 'pictures', 'file': {}}}], 'terms': True, 'emailNotifications': True, 'smsNotifications': True}

如何将其添加到数据库?

0 个答案:

没有答案