2009-11-06 3 views
2

내 DjangoApp는 카테고리를 사용하여 탐색을 생성하고 해당 카테고리에 항목을 넣습니다. 카테고리에 해당 매우 유사하기 때문에django 재귀 관계

  • ParentCategories (상위 카테고리)
  • ChildCategories (서브 부모로서 ParentCategory있는 카테고리)

:

두 종류의 타입이있다 두 가지 모델을 사용하고 싶지 않습니다. 이 내 카테고리 모델 : 내 djangoadmin에서

class Category(models.Model): 
    name = models.CharField(max_length=60) 
    slug = models.SlugField(max_length=80, blank=True) 
    is_parent = models.BooleanField() 
    parent = models.ForeignKey('self', null=True, blank=True) 

부모가 표시되지 않습니다. 내가 파이썬 manage.py의 SQL을 사용하는 경우 내가 얻을 :

CREATE TABLE "catalog_category" (
    "id" integer NOT NULL PRIMARY KEY, 
    "name" varchar(60) NOT NULL, 
    "slug" varchar(80) NOT NULL, 
    "is_parent" bool NOT NULL 
) 
; 

그래서 부모 관계도 생성되지 않습니다.

이것을 수정하는 편리한 방법이 있습니까?

나는 테이블을 변경할 수는 있지만, 앱이 빠르게 변경되고 매번 테이블을 수동으로 변경하고 싶지 않기 때문에 데이터베이스를 아주 많이 삭제하거나 삭제한다고 알고 있습니다.

btw : 내 개발자 db는 물론 sqlite3입니다. 서버에서 우리는 postgresql을 사용할 것입니다

+0

실행중인 장고의 버전은 무엇? –

답변

3

뭔가 다른 일이 벌어지고 있습니다 - 그 정의는 parent입니다. 내가 가진 응용 프로그램에 manage.py sql를 실행하면 해당 모델의 복사 - 붙여 넣기, 내가 얻을 :

BEGIN; 
CREATE TABLE "bar_category" (
    "id" integer NOT NULL PRIMARY KEY, 
    "name" varchar(60) NOT NULL, 
    "slug" varchar(80) NOT NULL, 
    "is_parent" bool NOT NULL, 
    "parent_id" integer 
) 
; 
COMMIT;