我有一個包含大約 25 個表的數據庫,我想為我的 python 項目自動生成模型文件。為了開發項目,我使用 PyCharm 和 MariaDB 作為 RDMS。數據庫的基本設置已經完成。在下一步中,我切換到 manage.py 控制臺以運行第一個命令:inspectdb這工作正常。每個表都將在控制臺窗口的輸出中列出?,F在我想將輸出寫入文件。因此我使用以下命令:inspectdb > models.py這最終導致錯誤:Unable to inspect table '>'# The error was: (1146, "Table 'mydatabase.>' doesn't exist")# Unable to inspect table 'models.py'# The error was: (1146, "Table 'mydatabase.models.py' doesn't exist")Process finished with exit code 0該命令根據文檔“python manage.py inspectdb > model.py”。但在這種情況下,'>' 符號將被解釋為表,或者必須給出表名。在第二種情況下,我嘗試只導出一個表:inspectdb users > models.py最終得到以下輸出:class Users(models.Model): name = models.CharField(max_length=400) username = models.CharField(max_length=150) email = models.CharField(max_length=100) password = models.CharField(max_length=100) ..... class Meta: managed = False db_table = 'users'# Unable to inspect table '>'# The error was: (1146, "Table 'mydatabase.>' doesn't exist")# Unable to inspect table 'models.py'# The error was: (1146, "Table 'mydatabase.models.py' doesn't exist")Process finished with exit code 0這里同樣的問題!在這種情況下,會生成模型用戶,但不會將其寫入 models.py 文件。我該怎么做才能將生成的模型保存到我的 models.py 文件中?
2 回答

墨色風雨
TA貢獻1853條經驗 獲得超6個贊
我假設您使用的是 bash shell。如果沒有,那可能是你的問題。您需要使用相對路徑才能models.py
使其正常工作。如果您的目錄結構如下所示:
mysite/ manage.py mysite/ myapp/ __init__.py admin.py migrations/ models.py
并且您正在從根mysite
目錄(manage.py
找到相同的目錄)運行命令,那么您應該像這樣運行命令:
python manage.py inspectdb users > myapp/models.py

慕森卡
TA貢獻1806條經驗 獲得超8個贊
不要使用 django-admin inspectdb,因為 django 不會“知道”您正在使用的設置。
只需使用python manage.py inspectdb yourtable
添加回答
舉報
0/150
提交
取消