0

データベースが非常に乱雑になった後、データベースを最初からやり直すことにしました。そのため、データベースを削除し、syncdbを使用してデータベースを再作成しようとしています。以下に示すように、テーブルtimber_managementを作成しています。このテーブルでは、timbermanagement内にtimber_uuidが見つからないためにフォールオーバーします。しかし、それはまだ材木管理になっていないので、私はかなり混乱しています。

Creating table timber_measurement
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "c:\python26\lib\site-packages\django\core\management\__init__.py", line 438, in execute_manager
    utility.execute()
  File "c:\python26\lib\site-packages\django\core\management\__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "c:\python26\lib\site-packages\django\core\management\base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "c:\python26\lib\site-packages\django\core\management\base.py", line 220, in execute
    output = self.handle(*args, **options)
  File "c:\python26\lib\site-packages\django\core\management\base.py", line 351, in handle
    return self.handle_noargs(**options)
  File "c:\python26\lib\site-packages\django\core\management\commands\syncdb.py", line 99, in handle_noargs
    cursor.execute(statement)
  File "c:\python26\lib\site-packages\django\db\backends\util.py", line 15, in execute
    return self.cursor.execute(sql, params)
  File "c:\python26\lib\site-packages\django\db\backends\sqlite3\base.py", line 200, in execute
    return Database.Cursor.execute(self, query, params)
django.db.utils.DatabaseError: table timber_measurement has no column named timber_uuid

Djangoモデル:

class TimberMeasurement(models.Model):
    uuid              = UUIDField(primary_key=True)
    timber            = models.ForeignKey(Timber, db_column='timber_uuid',null=True, blank=True, editable=False)
    measurement_value = models.FloatField(null=True, blank=True)
    measurement_type  = models.IntegerField(null=True, blank=True, choices=MEASUREMENT_TYPE, editable=False)

    class Meta:
        app_label = 'boughtin'
        db_table = 'timber_measurement'
        unique_together = ('timber', 'measurement_value', 'measurement_type')
4

1 に答える 1

0

新しいsyncdbを実行する前に、次のことを行う必要があるようです。

#unique_together = ('timber', 'measurement_value', 'measurement_type')
于 2012-05-25T15:22:05.113 に答える