【问题标题】:django foreign key saving with file name not objectdjango外键保存文件名不是对象
【发布时间】:2015-10-21 06:50:24
【问题描述】:

我有一个模型:

class UserProfile(models.Model):
    thumbnail = models.ForeignKey(Gallery, blank=True, null=True)

还有我的画廊:

class Gallery(models.Model):
    media_file = models.FileField(upload_to='somewhere)

def __str__(self):
    return self.media_file

在我看来:

media = Gallery.objects.create(media_file=form.cleaned_data['thumbnail'])
user_profile = UserProfile.objects.get(user=someuser)
user_profile.thumbnail = media
user_profile.save()

当我查看管理员和用户配置文件模型时,我没有在缩略图中看到图像 url。我只看到Media Object。我怎样才能在那里获得图片网址?

谢谢

【问题讨论】:

    标签: python django model django-queryset


    【解决方案1】:

    那是因为self.media_file 会给你文件对象而不是保存文件的 url。更改您的代码以返回文件的url。最简单的可能是 -

    def __str__(self):
        return self.media_file.url
    

    在这里阅读 -

    https://docs.djangoproject.com/en/1.8/ref/models/fields/#filefield https://docs.djangoproject.com/en/1.8/ref/models/fields/#django.db.models.fields.files.FieldFile.url

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-04
      • 1970-01-01
      • 2022-01-17
      • 2011-04-26
      • 2021-09-20
      • 2020-08-31
      • 1970-01-01
      • 2023-03-22
      相关资源
      最近更新 更多