我有一个这样的模型>
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)
但我需要的是获取状态名称而不是存储在订单表中的状态ID,该怎么做呢?
答案 0 :(得分:1)
您可以使用natural keys.执行此操作您需要在natural_key()
模型中定义Status
方法并传递use_natural_foreign_keys=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)
答案 1 :(得分:0)