Mar*_*rty 3 python django django-models cloudinary
我在带有Cloudinary包的Django应用中定义了如下图像上传,
class Photo(models.Model):
photo = CloudinaryField('image')
Run Code Online (Sandbox Code Playgroud)
我想使该字段上载多幅图像。我该怎么做呢?
包含多张图像的照片将成为相册或相册。我将重塑所有如下:
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')
Run Code Online (Sandbox Code Playgroud)
用法示例:
>>> album = PhotoAlbum.objects.create(name='myalbum')
>>> photo = Photo.objects.create(album=album, image=...)
Run Code Online (Sandbox Code Playgroud)
现在,Photo知道了PhotoAlbum:
>>> photo = Photo.objects.first()
>>> photo.album
<PhotoAlbum: myalbum>
Run Code Online (Sandbox Code Playgroud)
将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
Run Code Online (Sandbox Code Playgroud)