python - Django ModelForm 没有调用 clean

标签 python django eclipse

我正在执行基本的 Django ModelForm 创建/验证/保存 操作。当在 Eclipse 调试器下运行代码时调用 is_valid() 时,我的自定义清理方法未被调用,我在创建表单和调用 is_valid()< 后设置断点.

我多次跟踪 Django 基本代码,似乎 ModelForm 类上的错误字典从未设置为触发验证的 None。我怀疑这是由于与调试器的交互访问 ModelForm_errors 属性以显示在变量 Pane 中。

当我删除所有断点并让代码自然流动时,我可以通过发出打印语句来证明自定义干净代码正在运行。

这是 Django ModelForm 设计中的缺陷、Eclipse 问题还是我找错了树?

模型.py:

from django.db import models

class TestModel1(models.Model):
    field1 = models.CharField(max_length=45)
    field2 = models.IntegerField(default=2)
    field3 = models.CharField(max_length=45, null=True, blank=True)

表单.py:

from order.models import TestModel1
from django.forms import ModelForm

class OrderTestForm(ModelForm):
    
    def clean_field1(self):
        return self.cleaned_data['field1']
    
    def clean_field2(self):
        return self.cleaned_data['field2']
    
    class Meta:
        model = TestModel1

我的测试工具:

from forms import OrderTestForm

row = {'field1': 'test value', 'field2': '4', }

ff = OrderTestForm(row)

#ff.full_clean()
if ff.is_valid():
    ff.save()
else:
    print ff.errors

最佳答案

我找到了某种程度上不是答案的“答案”。确切的用例是从客户那里接收 CSV 文件。检查客户的实际数据文件后,数据字段被空格填充——很多空格。我修剪了输入并将修剪过的字典插入表格,一切正常。仍然没有解释为什么 eclipse 对此感到窒息。

关于python - Django ModelForm 没有调用 clean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13646508/

相关文章:

python - prefetch_与 Django 1.5 + django-model-utils 相关

python - 如何让PyPI自动安装依赖

python - 通过 Python 和 Google SMTP 服务器发送电子邮件

python - 使用 pandas xlsxwriter 模块使用条件格式格式化整行

python - 将 mongoengine 查询集转换为 json 文件

python - Django 表单集困难

python - Django on Production 不在 Django Admin 中显示我模型的所有字段

java - while(Matcher.find()) 无限循环

eclipse - Spring Tool Suite 表示无法创建 BootDashView(或任何 Spring View )

java - 使用 Selenium 和 java 查找 href 链接