私の問題に対する答えは簡単だと思いますが、どこにも見つかりません。これが私の苦境です。次のような oneToOne 関係にある Member と MemberDetail の 2 つのモデルがあります。
class Member(models.Model):
ID = models.AutoField(primary_key=True)
FIRST_NAME = models.CharField('First name', max_length=50)
LAST_NAME = models.CharField('Last name', max_length=50)
def __unicode__(self):
return u'%s %s' % (self.FIRST_NAME, self.LAST_NAME)
class MemberDetail(models.Model):
member = models.OneToOneField(Member, primary_key=True)
DATE_OF_BIRTH = models.DateField('Date of birth')
EMAIL = models.EmailField('E-mail')
PHONE = models.CharField('Phone', max_length=15)
今私の admin.py で、次のように、メンバーのすべてのデータを含むテーブルを表示したいと思います。
class MemberDetailInline(admin.TabularInline):
model = MemberDetail
class MemberAdmin(admin.ModelAdmin):
list_display = ("FIRST_NAME", "LAST_NAME", "date_of_birth", "email", "phone")
inlines = [
MemberDetailInline,
]
admin.site.register(Member, MemberAdmin)
list_display の「date_of_birth」、「email」、「phone」の部分の書き方がわかりません。私ができる最も近いことは、インラインの後にこれを追加することです:
def date_of_birth(self, MemberDetail):
return MemberDetail.DATE_OF_BIRTH
def date_of_birth(self, MemberDetail):
return MemberDetail.EMAIL
def date_of_birth(self, MemberDetail):
return MemberDetail.PHONE
しかし、フィールドはページ上で空でした。解決策は何ですか?ありがとう。