Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 发送带有相关对象的JsonResponse_Python_Json_Django - Fatal编程技术网

Python 发送带有相关对象的JsonResponse

Python 发送带有相关对象的JsonResponse,python,json,django,Python,Json,Django,我想发送带有相关对象的JsonResponse。这是我的操场 我照你说的做 def get_stocks(qty=9): return Stock.objects.values()[:9] # Returning stocks stocks = api_services.get_stocks() return JsonResponse(list(stocks), safe=False) 我的模特就像 class Sector(models.Model): name = models.

我想发送带有相关对象的JsonResponse。这是我的操场

我照你说的做

def get_stocks(qty=9):
  return Stock.objects.values()[:9]

# Returning stocks
stocks = api_services.get_stocks()
return JsonResponse(list(stocks), safe=False)
我的模特就像

class Sector(models.Model):
  name = models.CharField(max_length=200, null=True, blank=True)
  original_name = models.CharField(max_length=200)
  slug = models.CharField(max_length=200) 

class Industry(models.Model):
  name = models.CharField(max_length=200, null=True, blank=True)
  original_name = models.CharField(max_length=200)
  slug = models.CharField(max_length=200)   

class Stock(models.Model):
  name = models.CharField(max_length=200)
  ticker = models.CharField(max_length=200, unique=True)
  logo = models.CharField(max_length=200, null=True, blank=True)
  website = models.CharField(max_length=200, null=True, blank=True)
  sector = models.ForeignKey(Sector, on_delete=models.CASCADE, null=True)  
  industry = models.ForeignKey(Industry, on_delete=models.CASCADE, null=True)  
如何获取包含相关对象的json?现在我明白了

0   Object { id: 1, name: "Tesla", ticker: "TSLA", … }
id  1
name    "Tesla"
ticker  "TSLA"
logo    null
website "http://www.tesla.com"
sector_id   1
industry_id 1

我还需要获取部门和行业

您需要在股票模型中查找给定ID的模型条目。你可以用你的方法来做。另一种选择是使用股票。 例如:

def get_stocks(qty=9):
   stocks = Stock.objects.all()[:qty]
   for stock in stocks:
      try:
         stock.sector = Sector.objects.get(id=stock.sector)
      except Sector.DoesNotExist:
         pass
     
      try:
         stock.industry = Industry.objects.get(id=stock.industry)
      except Industry.DoesNotExist:
         pass

   return stocks