Я хочу знать, это мой код в порядке?Django загружать несколько файлов много для многих
Что я хочу: создать форму с функцией загрузки нескольких файлов. Может ли кто-нибудь сказать о многих-ко-многим? Это нормально?
Я хочу загрузить много файлов. Как это может быть?
from __future__ import unicode_literals
import uuid
from django.db import models
def get_file_path(instance, filename):
ext = filename.split('.')[-1]
filename = "%s.%s" % (uuid.uuid4(), ext)
return os.path.join('file_uploads/%Y/%m', filename)
# Create your models here.
class Order(models.Model):
name = models.CharField(max_length=255)
email = models.CharField(max_length=255)
phone = models.CharField(max_length=255, blank=True)
reference = models.CharField(max_length=255)
files = models.ManyToManyField(File)
deadline = models.DateTimeField(auto_now_add=False, auto_now=False)
class File(models.Model):
name = models.CharField(max_length=255)
file = models.FileField(upload_to=get_file_path)
Обновлено: Я получаю ошибку, когда я пытаюсь командовать makemigrations:
File "/home/dima/web/files_2016_04/fileupl/flpp/models.py", line 11, in <module>
class Order(models.Model):
File "/home/dima/web/files_2016_04/fileupl/flpp/models.py", line 16, in Order
files = models.ManyToManyField(File)
NameError: name 'File' is not defined
Но это определено. Что не так? Обновлено: я решить эту проблему перемещения класса File перед классом заказа
UPD Спасибо, я решил проблему с ForeignKey («Файл») с цитатами
Если вы хотите, чтобы Orders могли обмениваться файлами, тогда все в порядке. Я бы пошел на ForeignKey в файл для заказа. – Jingo
Мне нужна функция, загружающая несколько файлов в форму для пользователей/людей –
вы говорите, что foreignkey и это означает, что модель будет поддерживать только один файл? Но я хочу несколько –