Skip to main content
 首页 » 编程设计

python之Django-models之通过 FK 描述在 Django 管理中显示对象

2024年09月03日33artech

我在 Django 中使用以下模型:

模型 1

class Location(models.Model): 
    GID = models.UUIDField( 
        primary_key=True, default=uuid.uuid4, editable=False) 
    fAccountGID = models.ForeignKey( 
        Account, on_delete=models.CASCADE, verbose_name='Account code') 
    MainDescription = models.CharField( 
        verbose_name='Description/title', max_length=100) 
    ... 
 
    def __str__(self): 
        return self.MainDescription 

模型 2

class Review(models.Model): 
    Code = models.AutoField(primary_key=True) 
    fLocationGID = models.ForeignKey( 
        'Location', on_delete=models.CASCADE, verbose_name='Location') 
    ... 
 
    def __str__(self): 
        return 'Review for ' + self.FirstName 

当评论保存在我的数据库中时,在 Django 管理中它显示为“评论”+ 名字:

如果我想从 Location 模型中显示为 'Review for ' + 'MainDescription',应该采用什么方法?谢谢

请您参考如下方法:

覆盖 __str__ 并遍历外键(到 Location)以检索 MainDescription 字段的值:

class Review(models.Model): 
    ... 
    ... 
 
    def __str__(self): 
        return 'Review for ' + self.fLocationGID.MainDescription