出力は次のようになります (プロジェクトの名前は parkingtickets です)。
usr/local/webapps/parkingtickets/django_project$ python manage.py syncdb
Creating tables ...
Creating table parkingtickets_correction
その後、永久にハングします。プロセスを一時停止して強制終了しても、プロセスは停止しません。私は使用する必要がありますkill -9
。これまでにこれに遭遇したことはありません。今朝の時点で、アプリはスムーズに動作していました。最後に syncdb を正常に実行したのは 3 日前です。当時、私は補正を定義していましたが、うまくいきました。モデルを変更して新しいフィールド (null にすることが許可された編集不可能な外部キー) を含め、テーブルを削除し、syncdb にヒットしました。今これ。人々が必要と考える情報を喜んで掲載します。関連する settings.py (CRUD は私たちが開発した内部フレームワークで、主に汎用テンプレートをロードします):
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = ()
INTERNAL_IPS=('ADDRESS_OMITTED','ADDRESS_OMITTED')
MANAGERS = ADMINS
DATABASE_ENGINE = 'sql_server.pyodbc'
DATABASE_NAME = 'NAME_OMITTED'
DATABASE_USER = 'USER_OMITTED'
DATABASE_PASSWORD = 'PASS_OMITTED'
DATABASE_HOST = 'HOST_OMITTED'
DATABASE_PORT = '1433'
APPNAME = 'parkingtickets'
DATABASE_OPTIONS = {
'driver': 'FreeTDS',
'dsn': 'websiteredesign',
'timeout': 1,
'connect_timeout': 1,
'SQL_ATTR_LOGIN_TIMEOUT': 1}
TIME_ZONE = 'America/New_York'
LANGUAGE_CODE = 'en-us'
SITE_ID = 1
USE_I18N = True
MEDIA_ROOT = '/var/www/site-media/'
MEDIA_URL = '/site-media/' + APPNAME
ADMIN_MEDIA_PREFIX = '/media/'
SECRET_KEY = SECRET_KEY_OMITTED
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source',
)
MIDDLEWARE_CLASSES = (
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.csrf.CsrfResponseMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.transaction.TransactionMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
)
ROOT_URLCONF = 'django_project.urls'
TEMPLATE_DIRS = (
'/usr/local/webapps/' + APPNAME + '/django_templates/',
'/usr/local/webapps/crud/',
)
TEMPLATE_CONTEXT_PROCESSORS = ('crud.context_processors.settings',
'django.core.context_processors.auth',
'django.core.context_processors.media',
'django.core.context_processors.request')
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
APPNAME,
'crud',
'crud.crud_tags',
'django.contrib.admin',
'debug_toolbar',
)
LOGIN_URL = '/' + APPNAME + '/accounts/login/'
LOGIN_REDIRECT_URL = '/' + APPNAME + '/'
編集:わかりました。追加した新しい外部キーが問題を引き起こします。他のテーブルへの外部キーは正常に機能し、外部キーを変更しても何も変更されません (たとえば、上下に移動して別の時間に解析されるようにする、編集可能にする、null を受け入れないようにする)。これが、外部キーにしたいチケットのテーブルの定義です。
class Ticket(CrudModel):
_amount_due = models.DecimalField(decimal_places=2,max_digits=32,default=Decimal('0.00'),editable=False)
_amount_paid = models.DecimalField(decimal_places=2,max_digits=32,default=Decimal('0.00'),editable=False)
number = models.CharField(max_length=128,unique=True)
ticket_date = models.DateField()
time = models.TimeField()
plate_number = models.CharField(max_length=128)
plate_state = USStateField(default='CT')
make = models.ForeignKey(Make)
model = models.CharField(max_length=128)
color = models.ForeignKey(Color)
location = models.CharField(max_length=128)
officer = models.ForeignKey(Officer)
_class = models.ForeignKey(Class,null=True,blank=True,verbose_name='Class')
vin = models.CharField(max_length=128,blank=True)
towed_to = models.CharField(max_length=128,blank=True)
remarks = models.TextField(blank=True)
owner = models.ForeignKey(Owner,null=True,blank=True)
delinquency_letter = models.DateField(null=True,blank=True)