Skip to main content
 首页 » 编程设计

python之Django : unique name for object within foreign-key set

2025年05月04日34me-sa

我正在尝试为文章模型上传文件。由于一个对象可以有多个图像,因此我使用从文件模型到我的文章模型的外键。但是,我希望所有文件都具有唯一的标题。继承人的代码片段。

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) 

现在,当我上传文件时,我希望文件标题在 Article 的“foreign_key”集中是唯一的,而不一定是在 Files 的所有对象中。有没有办法可以自动设置文件的标题?最好是相关文章和增量整数的某种组合!!我打算只从管理界面上传文件,文件在文章管理表单中设置为内联。

请您参考如下方法:

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)