我有一个简单的 Django 代码。
models.py 文件中有我的模型和表单:
from django.db import models
from django.forms import ModelForm
class Supplier(models.Model):
name = models.CharField(max_length=55)
comment = models.TextField(blank=True)
class SupplierForm(ModelForm):
class Meta:
model = Supplier
这是我的test.py:
from django.test import TestCase
from mysite.myapp.models import Supplier, SupplierForm
class SupplierTest(TestCase):
def test_supplier(self):
supplier = Supplier(name="SomeSupplier")
supplier_form = SupplierForm(instance = supplier)
self.assertEquals(supplier_form.is_valid(), True)
当我通过manage.py开始测试时,is_valid()总是返回False,但我期望True。
在这种情况下 is_valid() 失败的原因是什么? 我使用 Django 1.3。
最佳答案
所有没有数据构建的表单都是“无效的”,因为它们没有任何可验证的内容:-)您需要向表单的构造函数提供有效的输入:
supplier_form = SupplierForm({'name': 'NewSupplier'}, instance=supplier)
关于django - ModelForm is_valid() 在单元测试期间始终返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5951132/