2013-06-27 4 views
3

관리자 페이지에서 insering TabularInline의 클래스 에러해야합니다 1.5 내가 Number의보기의 일환으로 Appointment를보기 위해 노력하고 있습니다장고 issubclass() 인수 1 내가 장고에 이러한 모델을 가지고

class Number(models.Model): 
    number = models.CharField("Patient's Number", max_length=12, unique=True) 
    created = models.DateTimeField("Date created", auto_now=True) 
    created.editable = True 

class Appointment(models.Model): 
    to_number = models.ForeignKey(Number) 
    message = models.CharField("Message", max_length=160) 
    send_on = models.DateTimeField("Date/Time to send the message") 
    email = models.CharField("Email to forward the response to", max_length=254, blank=True) 
    reply_to = models.CharField("Phone number to forward the response to", max_length=12, blank=True) 

    created = models.DateTimeField("Date created", auto_now=True) 
    created.editable = True 

class MyLog(models.Model): 
    to_number = models.CharField("To Number", max_length=12, blank=True) 
    from_number = models.CharField("From Number", max_length=12, blank=True) 
    email = models.CharField("Email to forward the response to", max_length=254, blank=True) 
    message_id = models.CharField("Message ID", max_length=66) 
    message_content = models.CharField("Message Content", max_length=160) 
    message_status = models.CharField("Message status per Twilio", max_length=50) 

    created = models.DateTimeField('Date created', auto_now=True) 
    created.editable = True 

(인라인) 그래서 나는 Django tutorial part 2을 따라 내 admin.py이 쓴 :

from django.contrib import admin 
from sms.models import Number, Appointment, MyLog 

class AppointmentInline(admin.TabularInline): 
    model = Appointment 
    exclude = ('created',) 

class NumberAdmin(admin.ModelAdmin): 
    list_display = ('id', 'number', 'created',) 
    list_display_links = ('id',) 
    list_editable = ('number',) 
    search_fields = ['number'] 
    save_on_top = True 
    readonly_fields = ('created',) 
    inlines = ['AppointmentInline',] # SEEMS LIKE THIS LINE IS CAUSING THE PROBLEM 

class AppointmentAdmin(admin.ModelAdmin): 
    fieldsets = (
     ('Essential Information', { 
      'fields': ('to_number', 'message', 'send_on', 'reply_to', 'email'), 
      'classes': ('wide', 'extrapretty')}), 
     ('Non-Essential Information', { 
      'fields': ('created',), 
      'classes': ('collapse',)}), 
     ) 
    list_display = ('to_number', 'message', 'send_on', 'reply_to', 'email',) 
    list_display_links = ('to_number',) 
    list_editable = ('message', 'send_on', 'reply_to', 'email',) 
    search_fields = ['to_number__number', 'message', 'reply_to', 'email'] 
    save_on_top = True 
    readonly_fields = ('created',) 

class MyLogAdmin(admin.ModelAdmin): 
    list_display = ('to_number', 'from_number', 'email', 'message_content', 'message_status', 'created',) 
    fields = ('to_number', 'from_number', 'email', 'message_content', 'message_status', 'created',) 
    search_fields = ['to_number', 'from_number', 'email', 'message_content', 'message_status'] 
    readonly_fields = ('to_number', 'from_number', 'email', 'message_content', 'message_status', 'created',) 

admin.site.register(Number, NumberAdmin) 
admin.site.register(Appointment, AppointmentAdmin) 
admin.site.register(MyLog, MyLogAdmin) 

하지만 지금은 다음과 같은 오류를 얻고 것은 내가 관리자 페이지를 통해 Number를 보려고 할 때마다 :

TypeError at /admin/sms/number/ 
... 
Exception Type:  TypeError 
Exception Value:  

issubclass() arg 1 must be a class 

Exception Location:  /home/phyo/.virtualenvs/t4stest/lib/python2.7/site-packages/django/contrib/admin/validation.py in validate, line 179 
Python Executable: /usr/bin/uwsgi 

저는 장고를 처음 사용하고 있으며, 인터넷에서 (봤 잖아요.) 제가 이런 오류를 일으키기 위해 잘못하고있는 걸 알아 내기 위해 꽤 많이 보았습니다. 그러나 나는 몇 시간 동안 그것에 고생하고 나서 이것을 알아낼 수 없었다. 누군가 제가 여기서 실수하고있는 것을 설명 할 수 있다면 정말 감사하겠습니다. 내 목표는 을 장고 관리자 페이지를 통해 볼 때마다 관련 Appointment 항목을 볼 수있게하는 것입니다. 도와 줘서 고마워.

답변

6

인라인은 문자열 일 수 없습니다. 이것을 사용 :

inlines = [AppointmentInline,] 

대신 :

inlines = ['AppointmentInline',] 
+0

감사합니다! 그것은 바보 같고 초보자 인 실수입니다. :) 고정 그것은 매력처럼 작동합니다. 또한 장고 관리자 및 모델 디자인 전문가라면 (@yedpodtrzitko) [이 질문에 대한 빠른 살펴보기 수 (http://stackoverflow.com/questions/17340693/django-model-advice-for -chained-foreignkeys-approach) 나는 장고 관리 콘솔에 연결된, ForeignKey 관계를 나열하는 것에 대해 가지고 있는가? 다시 감사합니다! – user1330974

관련 문제