我是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