访问Django模型中的ForeignKey实例字段

时间:2014-05-30 02:20:25

标签: python database django relational-database

我无法可视化我想在Django中运行的数据库查询。假设我有几个简单的模型定义:

class Pizza(models.Model):
    name = models.CharField()
    ...

class Topping(models.Model):
    pizza = models.ForeignKey('pizza')
    # Get the name of pizza here

编辑:我需要在另一个字段中访问该名称,而不是在实例方法中。这可能吗?

我目前不知道该怎么做。我试过了

pizza.name

但它不起作用。任何想法都将不胜感激。

2 个答案:

答案 0 :(得分:0)

要获取相关的字段值,您需要一个模型实例,在您的案例中为Topping类实例。例如,您可以在Topping类上定义自定义方法:

class Topping(models.Model):
    pizza = models.ForeignKey('pizza')

    def get_pizza_name(self):
        return self.pizza.name

self这里指的是一个类实例。

使用示例:

topping = Topping.objects.get(pk=1)
print topping.get_pizza_name()

答案 1 :(得分:0)

简单地:

topping = Topping.objects.get(pk=1)
print topping.pizza.name