显示外键值

时间:2020-04-27 08:24:37

标签: python django

我的models.py看起来像这样:

item

因此,目前我的OrderItem模型中的字段Item显示了def __str__(self): return f"{self.quantity} of {self.item.title}" 模型中项目的标题和数量:

Item

OneToOneField通过BikeAccessoryBike连接。 如果将OrderItem添加到brand_accessory,是否显示Accessory的品牌和大小,如果将OrderItem添加到analyse,则显示undefined

它看起来像{quantity} {item.title}(如果是自行车)> {bike.brand} {bike.size}(如果是附件)> {accessory.brand_accessory}

1 个答案:

答案 0 :(得分:2)

您可以使用hasattr来检查您的item是否获得了所需的OneToOneField

class OrderItem(models.Model):

    ...

    def __str__(self):
        if hasattr(self.item, 'bike'):
            #get value you need like: self.item.bike.brand
        if hasattr(self.item, 'accessory'):
            #get value you need like: self.item.accessory.brand_accessory
        return #get values you need together
相关问题