2010-01-21 6 views
1

저는 contenttypes 프레임 워크를 사용하여 내 사이트에 "추천 콘텐츠"기능을 만들고 있습니다. 나는 기본적으로 지금과 같은 모델을 정의하여이 일을했습니다 : 내가 지금 할 수 있도록하고 싶습니다 무엇콘텐츠 유형을 사용하여 장고에서 FeaturedContent 기능 만들기

class FeaturedContent(models.Model): 
    content_type = models.ForeignKey(ContentType) 
    object_id = models.PositiveIntegerField() 
    content_object = generic.GenericForeignKey('content_type', 'object_id') 

는/모든 모델 편집에 확인란을 내 관리 지역 내에서 페이지를 만드는 것입니다을하는 경우 Ticked and submitted는 FeaturedContent에 대한 콘텐츠 참조를 추가합니다. unticked 일 때 마찬가지로 참조가 삭제됩니다.

더 좋은 방법이 있으면 알려 주시기 바랍니다. 내가 볼 수있는 것부터, contenttype을 사용하는 것은 갈 길입니다.

감사합니다.

답변

0

admin에서이 옵션이 필요한 각 모델에 대해 스택 라인 관리자를 만들어야합니다. 다음과 같은

뭔가 : 당신은 또한 체크 박스 위젯을 사용자 정의 할 양식을 정의해야합니다 있도록

class ObjectInline(admin.StackedInline): 
    model = YourFancyModelthatisFeatured 
    extra = 0 

class FancyModelAdmin(admin.ModelAdmin): 
    inlines = [ObjectInline] 

그러나 이것은, 기본 위젯에 인라인을 줄 것이다.

+0

admin.StackedInLine을 사용하는 경우 외래 키가없는 것에 대해 우스운 소리를냅니다. 'mySite.testing.models.FeaturedContent'>에는 'mySite.testing.models.MyContent'에 대한 ForeignKey가 없습니다. "admin.StackedInline"대신 "generic.GenericTabularInline"을 사용하면 빈 테이블이로드됩니다. . 나는 지금까지 정말로 혼란 스럽다. ( – Crungmungus

관련 문제