相关疑难解决方法(0)

Django的.覆盖模型的保存

在保存模型之前,我会重新调整图片大小.但是,如何检查是否添加了新图片或更新了描述,以便每次保存模型时都可以跳过重新缩放?

class Model(model.Model):
    image=models.ImageField(upload_to='folder')
    thumb=models.ImageField(upload_to='folder')
    description=models.CharField()


    def save(self, *args, **kwargs):
        if self.image:
            small=rescale_image(self.image,width=100,height=100)
            self.image_small=SimpleUploadedFile(name,small_pic)
        super(Model, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

我想仅在新图像加载或图像更新时重新缩放,但在更新描述时不重新缩放.

python django

115
推荐指数
3
解决办法
17万
查看次数

当我只尝试编辑时,Django Admin save_model() 创建一个新对象

我最初的问题是我试图将当前用户附加到新条目,所以我重写save_model下面的方法admin.ModelAdmin来执行

def save_model(self, request, obj, form, change):
    obj.submit_usr = request.user
    super().save_model(request, obj, form, change)
Run Code Online (Sandbox Code Playgroud)

当我尝试在数据库中创建新对象或新条目时,这非常有用,但是当我尝试编辑现有对象时,它仍然会创建一个新条目

我的模型看起来像(我取出了所有设置以避免这里混乱)

class AppUser(models.Model):
    app_name = model.CharField()
    submit_usr = models.ForeignKey()
    submit_date = model.DateTimeField()
Run Code Online (Sandbox Code Playgroud)

我知道changearg 指示现有条目是否有更改,但我仍然没有办法告诉 Django 我只想修改当前条目而不是创建新条目。

有什么想法如何实现这一目标吗?

django django-admin

2
推荐指数
1
解决办法
3609
查看次数

标签 统计

django ×2

django-admin ×1

python ×1