我创建了两个Django模型,一个模型的字段是另一个模型的外键(如下所示)。
class Units(models.Model):
name = models.CharField(max_length=10, primary_key=True)
symbol = models.CharField(max_length=5)
class Targets(models.Model):
name = models.CharField(max_length=100)
unit = models.ForeignKey(MicroNutrientUnits)
...
然后通过admin.site.register
将这些模型注册到管理站点。向表格添加项目时,目标单元正确反映了表单位中的项目,但是在每个条目的名称为单位对象的下拉列表中都有表示。
如何在admin配置页面的 Units.name 的管理下拉列表中设置名称?
答案 0 :(得分:2)
当我开始使用管理员屏幕时,我遇到了同样的问题。我不知道是否有更好的方法可以做到这一点,但我所做的是修改models.py文件,告诉我的类作为默认字符串返回什么。在您的情况下,我要做的是将以下内容添加到您的Units类定义中。
class Units(models.Model):
name = models.CharField(max_length=10, primary_key=True)
symbol = models.CharField(max_length=5)
def __str__(self):
return self.name
这样,当您使用表格的外键链接时,django将在下拉列表中显示每个单位的名称,而不是一遍又一遍地显示单词“单位”。