1

Django にはいくつかのモデルがあります。

from django.db import models

class First(models.Model):
    first_name = models.CharField('First Name', max_length=100)
    first_value = models.IntegerField('Value')

    def __unicode__(self):
        return self.first_name 

class Second(models.Model):
    first_ref = models.ForeignKey(First)
    second_name = models.CharField('Second Name', max_length=100)
    second_value = models.IntegerField('Second Value')

    def __unicode__(self):
        return self.second_name

class Third(models.Model):
    second_ref = models.ForeignKey(Second)
    third_name = models.CharField('Third Name', max_length=100)
    third_value = models.IntegerField('Third Value')

    def __unicode__(self):
        return self.third_name

Thirdここで、Django 管理者にモデルの新しいレコードを追加しようとすると、<select>ボックスにsecond_name値が入力されます。両方の「親」テーブルから異なる値の連結文字列を表示するにはどうすればよいfirst_name + first_value + second_name + second_valueですか?

4

1 に答える 1

1

Modelのunicodeメソッドを更新するだけです:second

class Second(models.Model):
    first_ref = models.ForeignKey(First)
    second_name = models.CharField('Second Name', max_length=100)
    second_value = models.IntegerField('Second Value')

    def __unicode__(self):
        return '%s %s %s %s' % (
            self.first_ref.first_name, self.first_ref.first_value,
            self.second_name, self.second_value)
于 2013-01-11T23:38:18.713 に答える