我构建了一个简单的django应用程序,现在有一个非常令人困惑的错误消息。我认为这是因为Tabularinline,但我根据to this documentation正确使用它。
models.py
from django.db import models
class Person(models.Model):
company = models.CharField(max_length=120)
name = models.CharField(max_length=120)
birthday = models.DateField(null=True, blank=True)
def __unicode__(self):
return self.name
class Note(models.Model):
person = models.ForeignKey(Person)
datetime = models.DateTimeField()
text = models.TextField()
admin.py
from addressbook.models import Person, Note
from django.contrib import admin
class NoteInline(admin.TabularInline):
model = Note
class PersonAdmin(admin.ModelAdmin):
model = Person
inlines = [NoteInline, ]
admin.site.register(Note, NoteInline)
admin.site.register(Person, PersonAdmin)
但我总是收到此错误消息:
< class' addressbook.admin.NoteInline'>:(admin.E202)' addressbook.Note'没有ForeignKey到地址簿。注意'。
我会理解,但为什么要Note
引用自己如果我在Person
使用它?
答案 0 :(得分:1)
我认为您不需要单独注册NoteInline
管理员模板。只需注册PersonAdmin
模板即可包含NoteInline