我有一个带有非django命名约定的遗留数据库。如果我有以下(减少)模型:
class Registration(models.Model):
projectId=models.IntegerField(primary_key=True)
class Application(models.Model):
applicationId=models.IntegerField(primary_key=True)
registration=models.ForeignKey(Registration,db_column='projectId')
ForeignKey
实例导致在名为Application
的{{1}}上创建一个属性,但这不是该字段的正确名称(我有一个修复此问题的黑客),也没有是否可以在registration_id
中使用。
是否有某种方法可以在Application模型上使用ForeignKey提供的id字段,而不必通过注册引用它?
IE浏览器。我写了很多代码,如:
QuerySet
并且不想把它写成:
Application.objects.get(projectId=1234)
甚至
Application.objects.get(registration__projectId=1234)
我有点惊讶:
Application.objects.get(registration__pk=1234)
不起作用......
另请注意,我尝试将id列定义为字段以及用于查询集的外键,但是插入抱怨尝试两次插入同一列:
Application.objects.get(registration_id=1234)
答案 0 :(得分:0)
我认为只做Application.objects.registration.get(projectId=1234)
就应该做你想做的事。
答案 1 :(得分:0)
你试过这个吗?
Application.objects.get(registration=1234)