首页 > 解决方案 > 选择外键对象后保存 Django 模型表单并刷新

问题描述

我有以下型号:

class Pic(models.Model):
    name = models.CharField(max_length=50)
    img = ImageField(upload_to='images/', default=None, null=True, blank=True)

class InputTest(models.Model):
    pic_id = models.ForeignKey(Pic, on_delete=models.CASCADE)
    image_field_crop = CropperImageField(upload_to='images/', default=None, null=True, blank=True)

添加新的 InputTest 对象时,管理员从现有对象中选择一个 PicID 对象(外键)。我想在选择它之后立即保存和刷新对象。

例如:

是否有可能做到这一点?添加新 InputTest 时选择 pic_id 后立即自动保存对象并刷新页面。

标签: pythondjangopython-3.xdjango-modelsdjango-forms

解决方案


嗨,您可以在 InputTest 管理员中选择 pic_id 并选择保存按钮 image_field_crop 自动填充后,在 InputTest 模型中使用以下保存方法

def save(self, *args, **kwargs):
        self.image_field_crop = self.pic_id.img
        super(InputTest, self).save(*args, **kwargs)

希望对你有帮助


推荐阅读