django-TextField不能为null或空

django-TextField不能为null或空,django,django-models,django-forms,django-admin,Django,Django Models,Django Forms,Django Admin,这是我的模型: class Blog(models.Model): title = models.CharField(max_length=300, blank=True, null=True) description = models.TextField(blank=True, null=True) image = models.ImageField(upload_to=get_upload_file_name, blank=True, null=True, defau

这是我的模型:

class Blog(models.Model):
    title = models.CharField(max_length=300, blank=True, null=True)
    description = models.TextField(blank=True, null=True)
    image = models.ImageField(upload_to=get_upload_file_name, blank=True, null=True, default='')
    pubdate = models.DateTimeField(default=timezone.now)
    of_type = models.CharField(max_length=2,choices=TYPES)
当我
syncdb
时,它会正确执行syncdb。但是当我在管理员中试图保存一个没有描述的博客时,它不会。它显示了错误

此字段为必填字段

我如何克服这个问题

但是,在管理中,我使用ckeditor使用其小部件:

class BlogAdminForm(forms.ModelForm):
    description = forms.CharField(widget=CKEditorWidget())
    class Meta:
        model = Blog

class BlogAdmin(admin.ModelAdmin):
    form = BlogAdminForm

admin.site.register(Blog, BlogAdmin)

我是不是在代码中做错了什么?请帮我解决这个问题。我将非常感激。谢谢。

在表单字段定义中添加
required=False
参数:

description = forms.CharField(required=False, widget=CKEditorWidget())
顺便说一句,您可以使用
ModelAdmin
选项,而不是替换整个表单:

class BlogAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.TextField: {'widget': CKEditorWidget()},
    }