如何使用熊猫将prefetch_related查询转换为数据帧

时间:2019-05-13 15:19:35

标签: django pandas

我只想使用以下两个模型中的所有信息将prefetch_related查询转换为Panda数据框。这应该很简单,但是无论如何都没有用。我得到下面的代码“ Capture_set未定义”。 有什么想法吗?

class Capture(models.Model):
  species_name = models.CharField(max_length=50)
  total_capture = models.IntegerField()



class Species(models.Model):
  species_name = models.ForeignKey(Capture, on_delete=models.DO_NOTHING)
  length = models.IntegerField()
  weight = models.IntegerField()


data = pd.DataFrame(list(Species.objects.all().prefetch_related(Capture_set)))

1 个答案:

答案 0 :(得分:0)

我知道这不是您想要的方式,但是您可以使用values()实现此目的。假设您的related name是“捕获”

import pandas


query = Species.objects.all().values('captures__pk', 'captures__species_name',
                                     'captures__total_capture', 'pk', 'length',
                                     'weight')
data = pandas.DataFrame.from_records(query)