2011-11-17 2 views
1

장고 관리자를 사용하여 설명을 추가하고 추가하려고 시도했지만 Comment 모델 사용 GenericForeignKey 참조.GenericForeignKey 및 django admin

'CommentAdmin.fields' refers to field 'object' that is missing from the form.

어떻게 그것을 해결하기 위해 :

# in model.py 
class Comment(models.Model): 
    type  = models.ForeignKey(ContentType) 
    object_id = models.PositiveIntegerField() 
    object = generic.GenericForeignKey('type') 
    text  = models.TextField() 

# in admin.py 
class CommentAdmin(admin.ModelAdmin): 
    list_display = ('type', 'object', 'text') 
    fields = ('type', 'object', 'text') 

admin.site.register(Comment, CommentAdmin) 

그러나 장고 오류가 발생?

답변

3

GenericForeignKey은 데이터베이스의 필드가 아닙니다. object_idtype을 설정하여 정의한 객체에 대한 API를 사용할 수 있도록 도우미가되므로 양식에 필요하지 않습니다.

은 단순히 그것을 해결을 꺼내 OBJECT_ID에 넣어하려면 :

fields = ('type', 'object_id', 'text')