2011-05-15 93 views
0

我在理解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:表Content_Management_System_category有沒有指定的列類別」

回答

2

最近你可能還沒有運行python manage.py syncdb,或者你做了,但是你改變了一些table/models.Model的定義。

嘗試刪除數據庫,創建它並再次運行syncdb。也就是說,如果你沒有任何重要的數據。

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

0

這聽起來像是你忘了添加目錄後運行執行syncdb和/或Detail_View到你的models.py

或者因爲你有一個字段和表名稱是類別,模型越來越混亂。

嘗試將類別字段更改爲類別類別中的名稱。同樣詳細_view