python - 如何在保存前为 Django 表单的字段赋值?

标签 python django-models django-forms

如果我有这样的模型和表单:

class Test(models.Model):
    name = Charfield()
    nickname = CharField()

class getNickname(forms.ModelForm):
    class Meta:
    model = Test;
    exclude = ['nickname'];

昵称将是使用函数随机生成的名称。

def msms():
    return randomName;

def getNick(request):
    if request.method = 'POST':
        form = getNickname(request.POST);
        if form.is_valid():
            form.nickname = msms(); <--
            nickname = form.save();

当我调用 msms() 时,它给了我一个错误。使用函数更改“昵称”的正确方法是什么?

最佳答案

在模型上做。

    if form.is_valid():
        nickname = form.save(commit=False)
        nickname.nickname = msms()
        nickname.save()

关于python - 如何在保存前为 Django 表单的字段赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10354580/

相关文章:

python - 将 Django 调度程序应用程序与您自己的模型一起使用

python - Python中的Selenium下载文件: even after setting Firefox Profile the Download Window opens

python - 如何从Python网站上找到按钮ID?

python - 在 open() 函数中包含 'r' 的目的是什么?

Django模型翻译: store translations in database or use gettext?

django - 如何在 Django 的同一页面上插入 2 个不同的表单

python - 谷歌应用引擎如何正确部署应用程序

django - 使用 Django Model 类继承为表创建审核日志

django - 为什么django不自动更新外键? (obj.relative.id != obj.relative_id)

django - 在 Django 中,如何从模型/子项预填充编辑表单,但将提交保存为新实例?