私はガレージ ショップの趣味のプロジェクトに取り組んでいます。必要なものについては、django-model-utils に案内されました。(私はシリアル CNC マシンを持っています。シリアル マシンには 2 つのフロー制御方法があります)
SerialMachine の親クラスがあります (アドレス、ボーレート、一般的な RS-232 定義を定義します)
次に、SerialMachine (CTS/DTR/etc を定義) から継承する HardwareFlowControlMachine モデルがあります。
したがって、マシン名をフォームに入力すると(マシン001など)、マシン設定を取得する関数があります。
def getMachineSettings(machine):
from src.apps.cnc.models import SerialMachine
machineSettings = SerialMachine.objects.get(machineName=machine).select_subclasses()
return machineSettings
私はこの例外を受け取ります:
DatabaseError: no such column: cnc_hardwareflowcontrolmachine.serialmachine_ptr_id
テストのために、SoftwareFlowControlMachine には 1 台のマシンしかありません (ハードウェアにはありません)。
おそらく、HardwareFlowControlMachine には何らかの理由で少なくとも 1 つのオブジェクトが必要だと思いました。/admin/ に移動して、マシンを SoftwareFlowControlMachine または HardwareFlowControlMachine に追加しようとすると、次の例外が発生します。
ハードウェア フロー制御マシン:
DatabaseError at /admin/cnc/hardwareflowcontrolmachine/
no such column: cnc_hardwareflowcontrolmachine.serialmachine_ptr_id
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/cnc/hardwareflowcontrolmachine/
Django Version: 1.4
Exception Type: DatabaseError
Exception Value:
no such column: cnc_hardwareflowcontrolmachine.serialmachine_ptr_id
Exception Location: C:\Python27\lib\site-packages\django\db\backends\sqlite3\base.py in execute, line 337
Python Executable: C:\Python27\python.exe
Python Version: 2.7.2
SoftwareFlowControlMachine:
DatabaseError at /admin/cnc/softwareflowcontrolmachine/
no such column: cnc_softwareflowcontrolmachine.serialmachine_ptr_id
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/cnc/softwareflowcontrolmachine/
Django Version: 1.4
Exception Type: DatabaseError
Exception Value:
no such column: cnc_softwareflowcontrolmachine.serialmachine_ptr_id
Exception Location: C:\Python27\lib\site-packages\django\db\backends\sqlite3\base.py in execute, line 337
Python Executable: C:\Python27\python.exe
Python Version: 2.7.2
さらに情報を提供する必要がある場合はお知らせください。何が欠けているのか本当にわかりません