【发布时间】:2018-08-01 13:00:50
【问题描述】:
我在带有 Cloudinary 包的 Django 应用中定义了如下图片上传,
class Photo(models.Model):
photo = CloudinaryField('image')
我想让这个字段上传多个图像。我该怎么做呢?
【问题讨论】:
-
它对你有用吗?
标签: python django django-models cloudinary
我在带有 Cloudinary 包的 Django 应用中定义了如下图片上传,
class Photo(models.Model):
photo = CloudinaryField('image')
我想让这个字段上传多个图像。我该怎么做呢?
【问题讨论】:
标签: python django django-models cloudinary
一张包含多张图片的照片成为相册或照片库。我会改造如下:
class PhotoAlbum(models.Model):
name = models.CharField() # or whatever a photo album has
class Photo(models.Model):
file = CloudinaryField('image')
album = models.ForeignKey(PhotoAlbum, on_delete=models.CASCADE, related_name='photos')
使用示例:
>>> album = PhotoAlbum.objects.create(name='myalbum')
>>> photo = Photo.objects.create(album=album, image=...)
现在,Photo 知道它的 PhotoAlbum:
>>> photo = Photo.objects.first()
>>> photo.album
<PhotoAlbum: myalbum>
PhotoAlbum 跟踪所有Photos:
>>> album = PhotoAlbum.objects.first()
>>> album
<PhotoAlbum: myalbum>
>>> album.photos.all()
<QuerySet [<Photo: Photo-1>]>
>>> album == Photo.objects.first().album
>>> True
>>> Photo.objects.first() == album.photos.first()
>>> True
【讨论】:
我会这样做:
class Photo(models.Model):
photos = models.ManyToManyField('ChildPhoto',blank=True)
class ChildPhoto(models.Model):
photo = CloudinaryField('image')
您可以上传多张照片,照片模型将与 ChildPhoto 模型有一个多对数
【讨论】: