【发布时间】:2019-09-30 14:11:07
【问题描述】:
我只想将 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)))
【问题讨论】:
-
它应该读取数据帧,而不是数据库。对不起。
-
Capture_set is not defined听起来您还没有定义变量Capture_set...而且您发布的代码中似乎没有这样的定义。你期望Capture_set包含什么?你在哪里定义它? -
根据其他示例 (stackoverflow.com/questions/9176430/…),我认为这就是您应该使用 prefetch_related 的方式。但即使简单地使用 capture 而不是 capture_set 我仍然是一个错误(类型对象'Capture'没有属性'split')