【问题标题】:how to assign value to django form's field before saving?如何在保存之前为 django 表单的字段赋值?
【发布时间】:2012-04-27 16:37:28
【问题描述】:

如果我有这样的模型和形式:

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() 时,它给了我一个错误。使用函数更改“昵称”的正确方法是什么?

【问题讨论】:

    标签: python django-models django-forms


    【解决方案1】:

    在模型上做。

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

    【讨论】:

      猜你喜欢
      • 2012-02-14
      • 1970-01-01
      • 2016-06-29
      • 2015-05-13
      • 2015-07-06
      • 2014-06-15
      • 1970-01-01
      • 2017-04-04
      • 2015-06-07
      相关资源
      最近更新 更多