新手Django关于对象关系的问题

时间:2011-05-15 19:59:45

标签: python django

我在理解Django中的对象关系时遇到了一些麻烦。我写了这个:

 from django.db import models

class Community(models.Model):
    name = models.CharField(max_length=200) #arbitrary max length

class Category(models.Model):
    community = models.ForeignKey(Community)
    category = models.CharField(max_length=200) #arbitrary max length

class Detail_View(models.Model):
    category = models.ForeignKey(Category)
    detailView = models.CharField(max_length=200) #arbitrary max length
    website = models.CharField(max_length=200) #arbitrary max length

每个社区应该能够拥有与之关联的多个类别,并且每个类别都应该能够有多个与之关联的Detail_Views。我可以用社区做我想要的,但是一旦我尝试添加类别或细节视图,它就会搞砸了。例如,如果我说:

c = Community.objects.get(id=1)
c.category_set.create(category = "FooBar")

我收到一条错误,上面写着“DatabaseError:table Content_Management_System_category没有名为category的列”

2 个答案:

答案 0 :(得分:2)

您最近可能没有运行python manage.py syncdb,或者您已经更改了一些表/ models.Model定义。

尝试删除数据库,创建数据库并再次运行syncdb。也就是说,如果你没有任何重要数据。

您也可以python manage.py reset <appname>

答案 1 :(得分:0)

这听起来好像忘记在将models和/或Detail_View添加到models.py

之后运行syncdb

或者因为你有一个字段而且表名是Category,所以模型搞砸了。

尝试将类别字段更改为类别类别中的名称。与detail_view相同