如何从forms.ModelForm中的模型中获取字段

时间:2013-02-20 16:14:31

标签: python django django-forms

我想获取名为“some_attribute”的表单字段的值。我试着用self.Meta.model.some_attribute

class TestModel(models.Model):
    some_attribute = models.CharField(max_length=255)


class TestForm(forms.ModelForm):

    def save(self, *args, **kwargs):
        super(TestForm, self).save(*args, **kwargs)
        send_mail('topic', self.Meta.model.some_attribute, 'xxx@yyyy.com', ['xxx@yyyy.com'],
              fail_silently=False)

    class Meta:
        model = TestModel

这会导致错误: 'EnrollInEventForm'对象没有属性'some_attribute'。 我该怎么做?

2 个答案:

答案 0 :(得分:1)

我偶尔会从视图中的表单中删除特定值。我通过使用form.data字典来做到这一点。在您的情况下,其中一个键应为some_attribute。这种方法可能有所帮助。

答案 1 :(得分:1)

可能是some_attribtue在Model类中拼写错误,t和u交换。