问题描述
我正在使用Djano 3.1,Python 3.6,easy-thumbnails 2.7和django-taggit 1.3
这是我的(简化的)模型:
myapp / models.py
class Post(models.Model):
featured_image = ThumbnailerImageField(upload_to='uploads/post/featured_image',blank=True,null=True)
content = models.CharField(max_text=1000,null=False,blank=False)
tags = TaggableManager()
class PostFileAttachment(models.Model):
post = models.ForeignKey(Post,related_name='attachments',on_delete = mFixtures data for model containing images and filesodels.CASCADE)
file = models.FileField(upload_to="uploads/post/attachments")
class Postimagegallery(models.Model):
post = models.ForeignKey(Post,related_name='pictures',on_delete = models.CASCADE)
description = models.CharField(max_length=100,null=True,default='')
image = models.ImageField(upload_to='uploads/blogpost/gallery')
myapp / fixtures / sample_data.json
[
{
"model": "myapp.Post","pk": 1,"fields": {
"featured_image": ???
"content": "This is where the content goes"
"tags": ???
}
},{
"model": "myapp.PostFileAttachment","fields": {
"post": 1
"file": ???
}
},{
"model": "myapp.Postimagegallery","fields": {
"post": 1
"description": "File description","image": ???
}
}
]
解决方法
如果您尝试通过admin
界面保存带有图像的Post
,例如image.png
,然后查看数据库,则会发现帖子的图像及其相对路径已保存:uploads/post/featured_image/image.png
,因此您需要在灯具中指定该路径。
在您的myapp/fixtures/sample_data.json
固定文件中,应该像
[
{
"model": "myapp.Post","pk": 1,"fields": {
"featured_image": "uploads/post/featured_image/FEATURED_IMAGE.EXT"
"content": "This is where the content goes"
}
},{
"model": "myapp.PostFileAttachment","fields": {
"post": 1
"file": "uploads/post/attachments/ATTACHMENT.EXT"
}
},{
"model": "myapp.PostImageGallery","fields": {
"post": 1
"description": "File description","image": "uploads/blogpost/gallery/IMAGE.EXT"
}
}
]