python - 保存后从 Django 表单获取模型 ID

标签 python django

View .py

someForm = SomeForm(request.POST)
...
someForm.customSave(request.user)

表单.py

class SomeForm(ModelForm):

    class Meta:
        model = Some

    def customSave(self,user):
        lv = self.save(commit=False)
        lv.created_by = user
        lv.save()

如何获取刚刚从 someForm 保存的模型(或模型)的 ID?

最佳答案

由于 ModelForm.save 的行为是返回实例,你可能想在你的customSave方法中返回实例

def customSave(self, user):
    lv = self.save(commit=False)
    lv.created_by = user
    lv.save()
    return lv

然后就可以访问实例上的pk或者id了

inst = someForm.customSave(request.user)
inst.pk or inst.id

关于python - 保存后从 Django 表单获取模型 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10144475/

相关文章:

python - Django:基于JSONField动态设置模型实例属性

python - 如何打印输出到 keras model.fit 的数据,特别是使用 petastorm 数据集时

python - 正则表达式为英语和俄语提供不同的结果

django - 在 django python 中向现有数据库表添加新字段

python - 当 wagtail BooleanField 为 true 时启用 wagtail DateField

python - Django:如何从与用户相关的子查询集中获取不同的父列表?

python - setup.py 的库路径?

python - 接受额外字段的 Django 验证函数

javascript - 美汤复杂查询问题

python - isinstance(datetime.datetime, DateTimeField.value) 对于 Django DateTimeField 始终返回 false