-1
管理パネルで、親モデルの位置タイトルにドロップダウンの表示名を付けたいとします。デフォルトでは、リストにはすべての項目の「SNMPData Object」が表示されます。Django admin - forgeignキーのテキストを表示名として返します
しかし、私は、サイト名を表示したい、私はそれがself.locationを追加するが、それはエラーに
エラー投げているのと同じくらい簡単だと思った:
coercing to Unicode: need string or buffer, MajorSiteInfoData found
コード:
class MajorSiteInfoData(models.Model):
Location = models.CharField(max_length=200)
class Meta:
verbose_name = "Major Site Locations"
verbose_name_plural = "Major Site Locations"
def __unicode__(self):
return self.Location
class SNMPData(models.Model):
Location = models.ForeignKey(MajorSiteInfoData)
SNMP_AUTH = models.CharField(max_length=200)
SNMP_PRIV = models.CharField(max_length=200)
class Meta:
verbose_name = "SNMP Data"
verbose_name_plural = "SNMP Data"
def __unicode__(self):
return self.Location
を
私はすべてのモデル名を変更したら、sqlmigrateを実行する必要がありますか? – AlexW
モデル名は問題ありません。フィールド名はPEP8に準拠していません。フィールド名を変更する場合は、これを行うためにdjangoの移行を作成する必要があります:https://docs.djangoproject.com/en/1.9/ref/migration-operations/#renamefield。 –
すべて完了しました。ありがとう – AlexW