【发布时间】:2021-10-31 10:16:44
【问题描述】:
我为用户创建了一些徽章。我使用django-CleanUp 删除其他媒体对象。当用户的分数足够高时,我想将旧徽章更改为新徽章。但是当更换图像时,旧图像(徽章)被删除。我不想要这个。我想保留旧徽章,因为其他用户仍在使用
我的观点:
def liked_post(request, pk):
user_update = get_object_or_404(UserRanks, user = post.username)
if user_update.score < 50:
user_update.rank_image = "guard.gif"
elif user_update.score < 100:
user_update.rank_image = "captain1.gif"
elif user_update.score < 300:
user_update.rank_image = "knight1.gif"
user_update.save()
我的模特:
class UserRanks(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
rank_image = models.ImageField(
verbose_name="Rank Gif", default="guard.gif", null=True, blank=True)
score = models.IntegerField(
null=True, blank=True, verbose_name="Score", default=0)
def save(self, *args, **kwargs):
super(UserRanks, self).save(*args, **kwargs)
有没有办法在不删除 django-clean-up 的情况下保留旧图像?
【问题讨论】:
-
发布了一个答案来解释我在之前的评论中的意思。
标签: python html django django-models