Django 2.1和select_related()

时间:2018-08-16 14:28:15

标签: django oracle orm foreign-keys

这是对this问题的跟踪/澄清。

我正在使用Django 2.1,Python 3.6和Oracle 12c。

假设我有两个模型:

import my_package.hello_world

那么我愿意

class ModelA(models.Model):
    modelB_field = ForeignKey(ModelB, on_delete=models.DO_NOTHING)
    example_field = models.IntegerField()

class ModelB(models.Model):
    example_field = models.IntegerField()

我明白了

  

django.db.utils.DatabaseError:ORA-00918:列定义不明确

三个观察结果:

  1. 仅当字段ModelA.objects.filter(...).select_related('modelB_field') 位于两个字段中时,我才收到错误消息 模型...即使它不是example_field的主键。
  2. Django生成的查询可在sqldeveloper中使用。
  3. 如果我将virtualenv与Django 2.0而非Django一起使用,则代码有效

文档未显示在Django 2.1中使用ModelB进行了任何更改。

1 个答案:

答案 0 :(得分:0)

肯定是django 2.1的一个错误,请尝试降级到2.0 ...