django:外键集合内对象的唯一名称
我正在尝试为一个文章模型上传文件。因为一个对象可以有多个图片,所以我使用了文件模型的外键来关联我的文章模型。不过,我希望所有的文件标题都是唯一的。下面是我的代码片段。
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)
现在,当我上传文件时,我希望文件的标题在“外键”关联的文章中是唯一的,而不一定要在所有文件对象中都是唯一的。有没有办法可以自动设置文件的标题?最好是将相关的文章和递增的数字结合起来!我打算只通过管理员界面上传文件,并且文件是在文章的管理员表单中以嵌套的方式设置的。
1 个回答
1
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,不知道该怎么解决。比如,有人可能在使用一个特定的功能时,发现它没有按照预期工作,或者出现了错误信息。这时候,我们可以去一些技术论坛,比如StackOverflow,寻求帮助。
在这些论坛上,很多人会分享他们的经验和解决方案。你可以看到其他人遇到的类似问题,以及他们是如何解决的。这些讨论通常会包含一些代码示例,帮助你更好地理解问题所在。
总之,遇到问题时,不要害怕去问,也不要觉得自己很笨。编程本来就是一个不断学习和解决问题的过程。通过查看别人的问题和答案,你会慢慢积累经验,变得越来越熟练。
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)