class EbConfig(models.Model):
id = models.IntegerField(primary_key=True)
specific_field_config_id = models.IntegerField()
judge_result = models.CharField(max_length=50)
class EbResult(models.Model):
eb_config = models.ForeignKey(EbConfig, on_delete=models.CASCADE)
cc_log_info_base_id = models.BigIntegerField(primary_key=True)
eb_config_id = models.IntegerField()
result = EbResult.objects.filter(...)...
在满足我的条件后,我得到一个名为“result”的QuerySet。 当我输入:
result.select_related('eb_config').values()
我得到这样的东西:
<QuerySet [{'eb_config_id': 1, 'cc_log_info_base_id': 10001},...>
但我想得到的是这样的:
"<QuerySet [{'eb_config_id': 1, 'cc_log_info_base_id': 10001, 'id ':'', 'specific_field_config_id ':'', 'judge_result ':''},...>"
我能做些什么来做到这一点? 我知道,我可以通过以下方式获得EbConfig的对象:
list(test)[0].eb_config
但我真正想要的是EbConfig INNER JOIN EbResult的完整词典。
当我打印result.query
时,我找到一个正确的SQL语句,可以在MySQL中成功运行并得到我期望的结果。
答案 0 :(得分:0)
Soft ForeignKey和序列化程序。
你可以在Django中完全执行它。
serializer doc recommend by Willem Van Onsem in question comment