Python Django需要返回名称而不是id foreginkey

时间:2018-12-15 18:02:29

标签: python django

class Product(models.Model):
    name = models.CharField(max_length=300, default='default name')
    description = models.TextField(max_length=800, blank=True, null=True)
    link = models.TextField(default='0')
    type = models.ForeignKey(ProductType, on_delete=models.CASCADE, null=True, blank=True)
    category = models.ForeignKey(ProductCategory, on_delete=models.CASCADE, null=True, blank=True)
    keyword = models.OneToOneField(KeyWords, on_delete=models.CASCADE, null=True, blank=True)

模型不从ForeignKey返回数据

2 个答案:

答案 0 :(得分:0)

我认为您需要在ProductCategory模型中定义一个__str__方法。这样,您将对该表中的每个条目都有一个描述性名称。没有它,您的输入最好由id字段描述。

答案 1 :(得分:0)

p = Product.objects.get(...)
p.type.name
p.category.name