Django外键保存文件名不是对象



我有一个模型:

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

in my view:

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。我怎么能得到图像url呢?

谢谢

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

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

阅读这里-

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

相关内容

  • 没有找到相关文章

最新更新