我剛開始創建自己的應用程序教程(創建一個民意測驗)Django略有偏差,因爲我想創建一個使用我自己的數據庫模型,已經存在的應用程序。更改Django的默認模型設置
而在本教程中,它說
- 表名稱是自動結合的 名的應用程序(調查)和模型的小寫 名稱生成 - 民意調查和選擇。 (您可以覆蓋此行爲。)
- 主鍵(ID)自動添加 。 (您也可以覆蓋 。)
- 按照慣例,Django將 「_id」附加到外鍵字段 的名稱。是的,你可以覆蓋這個, 以及。
但我看不到它在哪裏提及如何覆蓋此行爲?我定義我的模型,所以
from django.db import models
# Create your models here.
class Channels(models.Model):
channelid = models.IntegerField()
channelid.primary_key = True
channelname = models.CharField(max_length=50)
現在,當我進去的殼,這是我所得到的
>>> from tvlistings.models import *
>>> Channels.objects.all()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "C:\Python26\lib\site-packages\django\db\models\query.py", line 67, in __
repr__
data = list(self[:REPR_OUTPUT_SIZE + 1])
File "C:\Python26\lib\site-packages\django\db\models\query.py", line 82, in __
len__
self._result_cache.extend(list(self._iter))
File "C:\Python26\lib\site-packages\django\db\models\query.py", line 271, in i
terator
for row in compiler.results_iter():
File "C:\Python26\lib\site-packages\django\db\models\sql\compiler.py", line 67
7, in results_iter
for rows in self.execute_sql(MULTI):
File "C:\Python26\lib\site-packages\django\db\models\sql\compiler.py", line 73
2, in execute_sql
cursor.execute(sql, params)
File "C:\Python26\lib\site-packages\django\db\backends\util.py", line 15, in e
xecute
return self.cursor.execute(sql, params)
File "C:\Python26\lib\site-packages\django\db\backends\mysql\base.py", line 86
, in execute
return self.cursor.execute(query, args)
File "C:\Python26\lib\site-packages\MySQLdb\cursors.py", line 166, in execute
self.errorhandler(self, exc, value)
File "C:\Python26\lib\site-packages\MySQLdb\connections.py", line 35, in defau
lterrorhandler
raise errorclass, errorvalue
DatabaseError: (1146, "Table 'tvlistings.tvlistings_channels' doesn't exist")
顯然無法找到表tvlistings_channels因爲它實際上是所謂的渠道。那麼如何更改默認值?
完美謝謝! :O) – PDStat 2011-01-11 15:50:55