我只想簡單地訪問包含外鍵的數據庫表。 我在postgres 9.1中創建了2個表格。如何使用django模型的外鍵訪問數據庫postgres表
內Django的型號有:
class bfirma(models.Model):
class Meta:
db_table="bfirma"
f_id= models.IntegerField(primary_key=True)
f_name = models.TextField()
。
class bworker(models.Model):
class Meta:
db_table="bworker"
w_id = models.IntegerField(primary_key=True)
w_name = models.TextField()
fk_f_id=models.ForeignKey(bfirma)
這是它的外觀在表:
bfirma(table)
f_id(pk)|f_name
1 BMW
2 Benz
bworker(table)
w_id(pk)|w_name|fk_f_id(fk)
1 WorkerA 1
2 WorkerB 1
3 WorkerC 2
調用模型bfirma沒有外鍵工作正常。沒問題。但我不能調用模型bworker
bf= bfirma.objects.using(db).filter(f_name='BMW').values() WORKING FINE
bw = bworker.objects.using(db).all().values() ERROR:= Unable to get repr for <class 'django.db.models.query.ValuesQuerySet'>
如果我註釋掉與外鍵定義以下行,它的工作原理
#fk_f_name=models.ForeignKey(bfirma)
我只是想有一些真的很簡單:昨天我的電腦強制:bfirma和bworker
更新的名稱凍結;我必須重新調整。之後,我創建了一個新的數據庫,並且很快就開始工作。不知怎的,它現在可以處理與ForeignKey的行...
Offtopic的:請爲您的類(包括模型)在CamelCase中,並嘗試爲所有變量使用可讀的名稱。 – ilvar 2012-03-15 01:48:00
並檢查您發佈的代碼 - 在您的代碼中,bw不能拋出有關ValuesQuerySet的錯誤,因爲它不使用values()。 – ilvar 2012-03-15 01:50:25
嘗試在bworker.objects.using(db).all()]中嘗試啓動時沒有值():[(bw.w_name,bw.bfirma.f_name)bw) – ilvar 2012-03-15 01:52:16