通過異物會與非Django的命名約定的傳統數據庫。如果我有以下(削減)型號:我如何通過一個ForeignKey的db_column字段進行篩選,而不在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
叫registration_id
創建一個屬性,但這既不是該領域的正確名稱(我有一個黑客來解決這個問題),也不能用於QuerySet
。
是否有某種方式使用應用程序模型上的ForeignKey提供的id字段,而不必通過註冊來引用它?
即,我寫很多代碼,如:
Application.objects.get(projectId=1234)
而不想將它寫出來的:
Application.objects.get(registration__projectId=1234)
甚至
Application.objects.get(registration__pk=1234)
我稍感意外的是:
Application.objects.get(registration_id=1234)
不工作...
另外請注意,我試圖定義id列作爲一個字段,以及其對工作的查詢集外鍵,但插入抱怨試圖插入同一列兩次:
class Application(models.Model):
...
projectId=models.IntegerField()
...
謝謝Wogan,並不完全是我想要做的(Application.objects.get(專案編號= 1234)),但可能是因爲這是我所能得到什麼東西我不知道我能做到。 – 2011-03-09 00:40:33