django: уникальное имя для объекта в наборе внешнего ключа - PullRequest
2 голосов
/ 14 октября 2010

Я пытаюсь загрузить файлы для модели статьи.Поскольку объект может иметь несколько изображений, я использую внешний ключ от файловой модели к моей модели статьи.Однако я хочу, чтобы все файлы имели уникальные заголовки.Вот фрагмент кода.

class Article(models.Model):
    name = models.CharField(max_length=64)

class Files(models.Model):
    title = models.CharField(max_length=64)
    file = models.FileField(upload_to="files/%Y/%m/%d/")
    article = models.ForeignKey(Article)

Теперь, когда я загружаю файлы, я хочу, чтобы заголовки файлов были уникальными в пределах набора "foreign_key" Article, а НЕ обязательно среди всех объектов файлов.Есть ли способ, которым я могу автоматически установить заголовок файлов?Предпочтительно к некоторой комбинации связанных Статьи и инкрементных целых чисел !!Я намереваюсь загружать файлы только из интерфейса администратора, и Файлы устанавливаются в строке в форме администрирования статьи.

1 Ответ

1 голос
/ 14 октября 2010
def add_file(request, article_id):            
    if request.method == 'POST':  
        form = FileForm(request.POST, request.FILES)  
        if form.is_valid():  
            file = form.save(commit=False)  
            article = Article.objects.get(id=article_id)  
            file.article = article  
            file.save()  
            file.title = article.name + ' ' + file.id  
            file.save()  
            redirect_to = 'redirect to url'  
            return HttpResponseRedirect(redirect_to)      
...