在Django的管理页面更改外键项的名称
我创建了两个Django模型,其中一个模型的字段是另一个模型的外键(如下所示) 然后通过在Django的管理页面更改外键项的名称,django,django-models,Django,Django Models,我创建了两个Django模型,其中一个模型的字段是另一个模型的外键(如下所示) 然后通过admin.site.register将这些模型注册到管理员站点。将项添加到表中时,目标单位正确地反映了表单位中的项,但这些项在下拉列表中表示,每个项的名称为Units对象 如何在管理配置页面的管理下拉列表中将名称设置为Units.name?当我开始玩管理屏幕时,我也遇到了同样的问题。我不知道是否有更好的方法可以做到这一点,但我所做的是修改models.py文件,告诉我的类作为默认字符串返回什么。在您的情况下
admin.site.register
将这些模型注册到管理员站点。将项添加到表中时,目标单位正确地反映了表单位中的项,但这些项在下拉列表中表示,每个项的名称为Units对象
如何在管理配置页面的管理下拉列表中将名称设置为Units.name?当我开始玩管理屏幕时,我也遇到了同样的问题。我不知道是否有更好的方法可以做到这一点,但我所做的是修改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将在下拉列表中显示每个单元的名称,而不是一次又一次地显示“单元”一词。当我开始玩管理屏幕时,我也遇到了同样的问题。我不知道是否有更好的方法可以做到这一点,但我所做的是修改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将在下拉列表中显示每个单元的名称,而不是一次又一次地显示“单元”这个词。在这种情况下,这非常有效(因为单元总是按名称引用),但是我觉得必须有一种方法通过admin.py文件来实现这一点。在这种情况下,这非常有效(因为单元总是按名称引用)但是我觉得一定有办法通过admin.py文件实现这一点。