Python 检索相关字段详细信息而不是id

Python 检索相关字段详细信息而不是id,python,django,Python,Django,我有一个这样的模型> class Orders(models.Model): .... status = models.ForeignKey('Status') class Status(models.Model): status_name = models.CharField(max_length=CHARFIELD_MAX_LEN) all_orders = Orders.objects.all() resp = serializers.serialize('json', all_

我有一个这样的模型>

class Orders(models.Model):
 ....
 status = models.ForeignKey('Status')

class Status(models.Model):
 status_name = models.CharField(max_length=CHARFIELD_MAX_LEN)
all_orders = Orders.objects.all()
resp = serializers.serialize('json', all_orders)
在我看来,我提出了这样一个问题>

class Orders(models.Model):
 ....
 status = models.ForeignKey('Status')

class Status(models.Model):
 status_name = models.CharField(max_length=CHARFIELD_MAX_LEN)
all_orders = Orders.objects.all()
resp = serializers.serialize('json', all_orders)
但我需要的是获取状态名称而不是存储在orders表中的状态id,如何才能做到这一点?

根据:

它将获得状态名称列表

您可以使用您需要在
status
模型中定义
natural\u key()
方法并传递
use\u natural\u foreign\u key=True

class Orders(models.Model):
   ....
   status = models.ForeignKey('Status')

class Status(models.Model):
    status_name = models.CharField(max_length=CHARFIELD_MAX_LEN)
    #def natural_key(self):
        return (self.status_name,)
然后序列化对象

all_orders = Orders.objects.all()
resp = serializers.serialize('json', all_orders, use_natural_foreign_keys=True)

什么是序列化程序。序列化?django的。就这样,谢谢。不过有一个小问题,如果仅对于django 1.7,以前的版本使用的是自然键,请使用外键。