我想用外键查询表。是否可以将外键替换为其值并将其转换为字典?
Model.py
class Category(models.Model):
name = models.CharField(max_length=40)
class Item(models.Model):
name = models.CharField(max_length=50)
category = models.ForeignKey(Category)
Views.py
dic = {}
dic["data"] = list(Item.objects.all().values())
答案 0 :(得分:1)
目前尚不清楚您在寻找什么。但我知道你需要一个结果,而不是ID,你得到类别的名称。 有两种方法。首先,更好的是将模型更改为:
class Category(models.Model):
name = models.CharField(max_length=40)
def __str__(self):
return str(self.name)
使用此方法是一种更好的方法,每次都没有添加额外的行请求类别名称。 另一种是以这种方式查询:
Item.objects.all().values('name', 'category__id')