2011-03-29 3 views
1

rails에서 모델 :polymorphic => true을 선언 할 수 있으며 모델을 다형성으로 만들 수 있습니다.Django의 레일과 같은 다형성 모델은 무엇입니까?

그러나 Django에 어떻게 다형성 모델을 만들 수 있습니까?

레일로 단순하지는 않다는 것을 알고 있지만 Django에 소개가 필요합니다. 여기

+1

아마도 목표가 무엇인지 설명 할 수 있다면 여기에서 장고 개발자에게 더 유용 할 것입니다. Django는 모델 상속과 모델 프록시를 허용합니다 ...하지만 이제는 다형성으로 어떤 문제를 해결하려고합니까? –

+0

기사, 이벤트, 게시물 등에 태그 모델을 사용하는 것 같은 단순한 일이 있습니다. 레일에서 너무 쉽습니다. 그러나 장고에서는 제 발로 그것을 만들고 많은 일을해야합니다 (생각합니다). 희망을 분명히 묘사하십시오! –

+1

Django에서 태그 지정을 지원하는 것이 타사 앱을 설치하기 너무 쉽습니다 (예 : [django-tagging] (http://code.google.com/p/django-tagging/)). contenttypes 프레임 워크, 특히 [generic relations] (http://docs.djangoproject.com/en/1.3/ref/contrib/contenttypes/#generic-relations)을 사용합니다. – Paolo

답변

4

비슷한 질문 : Double Foreign Key in Django?

답변 다형성 연관 데이터를 달성하기 위해 장고에 ContentTypes 프레임 워크를 사용하는 것입니다.

+0

네, 정확히 내가 원하는 [ContentTypes] (http://docs.djangoproject.com/en/1.3/ref/contrib/contenttypes/#generic-relations) –

2

기본 다운 캐스트 기능을 사용하여 다형성 모델을 만들 수있는 django-polymorphic-models이라는 간단한 앱이 있습니다. 그것은 아주 간단하게 작동하며 새로 생성 된 객체의 내용 유형을 저장하는 필드를 추가합니다. * lowecase_model_name * (django는 내부적으로 OneToOneField을 통해 상속을 나타냄)을 통해 자식 모델을 얻을 수 있습니다. django-polymorphic-models를 사용한다면 모델에 downcast 메쏘드가 있습니다. 게다가 그것은 쿼리 세트에 메소드와 비슷한 것을 추가합니다!

+0

tnx [django-polymorphic-models] (https : //code.google.com/p/django-polymorphic-models/), 나는 그것을보고 코드를 읽지 만, 나는 django 문서와 [ContentType] (http : // docs. –

+0

나는 다형성 모델을 사용 해왔고, 실제로는 잘 작동합니다. 처음에 모델이 작동한다고 기대했던 것과 똑같습니다. –