从 Django 模型中的关联图像列表中选择喜欢的图像
Selecting a favourite image from a list of associated images in Django Models
我有以下 AlbumImage 模型,用于我的用户上传的图像:
`
class AlbumImage(models.Model):
image = ProcessedImageField(upload_to='albums', processors=[ResizeToFit(1280)], format='JPEG', options={'quality': 70})
alt = models.CharField(max_length=255, default=uuid.uuid4)
created = models.DateTimeField(auto_now_add=True)
slug = models.SlugField(max_length=70, default=uuid.uuid4, editable=False)
`
以及上述图片中可能出现的人物模型:
`
class People(models.Model):
name = models.CharField(max_length=30,default='John Doe')
remind_on = models.DateField()
event = models.TextField(default='No Event')
associated_with = models.ManyToManyField(AlbumImage)
`
问题:我希望我的用户能够 select 从许多关联图像中选择一张图像。我如何在我的模型中表示它?
您可以按如下方式使用OneToOneField
,
class People(models.Model):
name = models.CharField(max_length=30,default='John Doe')
remind_on = models.DateField()
event = models.TextField(default='No Event')
associated_with = models.ManyToManyField(AlbumImage)
favourite_image = models.OneToOneField(AlbumImage)
我有以下 AlbumImage 模型,用于我的用户上传的图像:
`
class AlbumImage(models.Model):
image = ProcessedImageField(upload_to='albums', processors=[ResizeToFit(1280)], format='JPEG', options={'quality': 70})
alt = models.CharField(max_length=255, default=uuid.uuid4)
created = models.DateTimeField(auto_now_add=True)
slug = models.SlugField(max_length=70, default=uuid.uuid4, editable=False)
`
以及上述图片中可能出现的人物模型:
`
class People(models.Model):
name = models.CharField(max_length=30,default='John Doe')
remind_on = models.DateField()
event = models.TextField(default='No Event')
associated_with = models.ManyToManyField(AlbumImage)
`
问题:我希望我的用户能够 select 从许多关联图像中选择一张图像。我如何在我的模型中表示它?
您可以按如下方式使用OneToOneField
,
class People(models.Model):
name = models.CharField(max_length=30,default='John Doe')
remind_on = models.DateField()
event = models.TextField(default='No Event')
associated_with = models.ManyToManyField(AlbumImage)
favourite_image = models.OneToOneField(AlbumImage)