2013-11-01 6 views
0

스레드 및 포스트 모델이 있습니다.django는 두 개의 관련 모델 인스턴스를 만듭니다.

포스트 (스레드가 많은 게시물이 있습니다)
스레드 (스레드가 하나의 특별한 지위를 가지고) 포스트 양식을 제출하면

포스트에 OneToOneKey을 가지고 내가 스레드와 포스트 객체를 생성 스레드하는 외래 키가 있습니다.

t = Thread.objects.create() 
p = Post.objects.create(thread=t) 

t.special_post = p 
t.save() 

제약 강제 할 수있는 방법이 있나요 장고의 DB 레벨 (A special_post을해야 스레드, 게시 스레드을 가져야한다)?

+0

모델에서'null = False'와'blank = False'가이를 수행해야합니다. – Rohan

답변

0

한 가지 가능한 방법 장고 모델 class.It의 multi-table inheritance를 사용하는 일반 파이썬 클래스 상속처럼 보이지만 자동 ThreadPost 사이에 일대일 관계를 설정 : 변경 후

class Thread(models.Model): 
    ... 

class Post(Thread): 
    ... 

, 어쩌면 당신은 포스트 모델에서만 조작을해야합니다, 당신은 post_instance.thread에 의해 스레드에 액세스 할 수 있습니다.

관련 문제