3
我在Django有這些模型1.5Django的issubclass()ARG 1必須在管理頁面中insering TabularInline一類錯誤
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
我想看看Appointment
爲Number
的視圖的一部分(在線) ,所以我遵循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
我是Django的新手,並且在網上搜索了很多東西(谷歌搜索)瞭解我在這裏做錯了什麼,導致了這樣的錯誤。但經過幾個小時的努力,我仍然無法弄清楚這一點。如果有人能幫我解釋我在這裏犯了什麼錯誤,我會非常感激。我的目標是每當通過Django管理頁面查看Number
時,都能看到相關的Appointment
條目。感謝您的幫助。
謝謝!這是我犯的一個愚蠢而新奇的錯誤。 :)修正它,它的作品像魅力。另外,如果你是Django管理員和模型設計專家,你可以(@yedpodtrzitko)快速瀏覽一下[這個問題](http://stackoverflow.com/questions/17340693/django-model-advice-for -chained-foreignkeys-approach)我有關於在Django管理控制檯中鏈接的外鍵關係?再次感謝你! – user1330974