0
當我嘗試訪問外鍵時,我得到「沒有這樣的列」。這裏是一個模式:Django(SQLite) - 無法訪問外鍵 - 沒有這樣的列 - 自定義sql
class PerkLevel(models.Model):
perk_id = models.ForeignKey('Perk', on_delete=models.CASCADE, related_name='perk_id')
perk_level = models.IntegerField(default=1, choices=PERK_LEVELS)
perk_desc = models.CharField(max_length=250, null=True, blank=True)
class Meta:
db_table = u'pl'
當我嘗試執行這樣一個簡單的查詢:
cursor.execute("SELECT perk_id FROM pl")
我得到「沒有這樣的列:perk_id。」在編寫我自己的sql時如何獲得外鍵?
...這就是爲什麼你不應該在ForeignKey名字中首先使用_id的原因之一。只要將它稱爲'perk',那麼db列將是'perk_id'。 –
我希望Django不會混淆我選擇的名字。就我而言,我第一次做對了!我嘗試了很多其他的事情後,偶然偶然發現了這個解決方案,因爲我隱約記得閱讀文檔中的'_id'。 – Rokit