Django从外键表中获取列

时间:2019-01-13 12:21:10

标签: python django

我是Django的新手。我无法从外键表中获取列。

当前的任务是使用两个表(表1,表2)中的某些列创建CSV。我创建了两个模型:

class SomeDetails(models.Model):
    type = models.IntegerField()

    class Meta:
        db_table = 'table2'


class Report(models.Model):
    transfer_platform = models.CharField(verbose_name="Transfer platform", max_length=255)
    status = models.IntegerField(verbose_name="Status(4=success, 5=failed)")
    amount = models.DecimalField(decimal_places=2, max_digits=20)
    created_at = models.DateTimeField()
    some_uuid = models.ForeignKey('SomeDetails', on_delete=models.CASCADE)

    class Meta:
        db_table = 'table1'

csv代码:

qs = Report.objects.filter(created_at__gte=datetime.today().date() + timedelta(-1)).filter(
                status=4).values('id', 'transfer_platform', 'status', 'amount', 'created_at', 'some_uuid__type')

以上内容不返回除列标题之外的任何数据。但是,如果我从上面的查询中删除了“ some_uuid__type”,它将返回正确的数据。

我也尝试过prefetch_related,但是不知道怎么解决。

qs = Report.objects.filter(created_at__gte=datetime.today().date() + timedelta(-1)).filter(
                status=4).prefetch_related('SomeDetails').values('id', 'transfer_platform', 'status', 'amount', 'created_at', 'some_uuid__type')

以上内容也不返回任何内容。请帮助我获取所有五列,以便我可以在CSV中填充它。

Python版本:2.7

0 个答案:

没有答案