添加ModelForm以创建表单时有一个奇怪的例外

时间:2011-05-13 23:39:12

标签: django django-models django-forms

在我尝试使用ModelForm添加表单之前,每件事情都很有效。抛出异常:

  

'str'对象没有属性'_default_manager'

我的模型和ModelForm:

class Story(models.Model):
    title = models.CharField('סיפור', max_length=100, unique=True)
    body = models.TextField('תוכן') #RichTextField('תוכן')
    posted = models.DateField('תאריך פרסום', db_index=True)
    category = models.ForeignKey('Category', verbose_name='קטגוריה')
    created_by = models.ForeignKey(User, verbose_name='נכתב ע"י')

class Meta:
    verbose_name = 'סיפור'
    verbose_name_plural = 'סיפורים'

def __unicode__(self):
    return self.title


class StoryForm(ModelForm):    
    class Meta:
        model = Story 

class Category(models.Model):
title = models.CharField('קטגוריה', max_length=100, db_index=True)

class Meta:
    verbose_name = 'קטגוריה'
    verbose_name_plural = 'קטגוריות'

def __unicode__(self):
    return self.title

与管理员:

admin.site.register(Story)
admin.site.register(Category)

我那里有更多的东西,但是我把所有的东西标记出去,只留下这些线来检查,但仍然崩溃......

我在以前的django中继中读到,由于管理员经理,这是管理员的问题,但我读到它已经解决了。我找不到解决方案,为什么只有在我尝试添加ModelForm类时才会发生这种情况。

只是不明白,如果是因为模特或管理员,为什么在我尝试添加表单之前没有发生?如果不是,为什么ModelForm会导致这样的问题?

为了尽可能清楚,我标记了每一个想法,我所拥有的只是ModelForm定义,我没有调用它或任何东西......它的创建是异常发生。

任何人都可以帮助我....我无法建立没有表格的网站......: - )

谢谢你, 埃雷兹

1 个答案:

答案 0 :(得分:1)

我已经解决了这个问题......

显然,问题是因为模型在类别类之前呈现,因此它无法识别它并尝试将其添加为字符串....

将ModelForm类移动到forms.py解决了问题....