我在理解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的列”
答案 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相同