选择时的 Django 外键名称

Posted

技术标签:

【中文标题】选择时的 Django 外键名称【英文标题】:Django foreign key name on select 【发布时间】:2017-12-29 18:58:39 【问题描述】:

我正在使用 2 个模型,每个模型都在不同的 Django 应用程序中:

应用产品:

class Product(models.Model):
    name = models.CharField(max_length=256)
    price = models.FloatField()
    warehouse = models.ForeignKey(Warehouse, on_delete=models.CASCADE)

    def __unicode__(self):
        return self.name

应用仓库:

class Warehouse(models.Model):
    name = models.CharField(max_length=256)

    def __unicode__(self):
        return self.name

问题是在admin站点中,当我想创建一个产品,我需要选择一个仓库时,我在选择列表中只看到以下内容:

Warehouse object
Warehouse object
Warehouse object

我要怎么做才能看到仓库名称?

【问题讨论】:

【参考方案1】:

__unicode__ 方法仅在 Python 2 中使用。由于您大概使用的是 Python 3,因此应改为定义 __str__

【讨论】:

是的,你打败了我! @P.罗德雷达。检查作为接受的答案。

以上是关于选择时的 Django 外键名称的主要内容,如果未能解决你的问题,请参考以下文章

数据库中外键名可以随便起吗

父模型具有多个外键时的Django外键反向访问[重复]

navicat中calzz依赖与啥是否外键

在 django 模板中显示字典索引或键名

mySql 外键名问题

mysql外键名重复的问题。