Django:python manage.py syncdb永远挂起
输出如下所示(项目名为parkingtickets): 然后它永远挂着。如果我暂停进程并杀死它,它不会死;我必须使用Django:python manage.py syncdb永远挂起,python,django,syncdb,manage.py,Python,Django,Syncdb,Manage.py,输出如下所示(项目名为parkingtickets): 然后它永远挂着。如果我暂停进程并杀死它,它不会死;我必须使用kill-9。我以前从未遇到过这种情况-今天早上我的应用程序运行顺利。我上次成功运行syncdb是在3天前。当时我已经定义了修正,而且效果很好。我修改了模型以包含一个新字段——一个允许为null的不可编辑外键——删除表并点击syncdb。现在这个。我很乐意发布人们认为必要的任何信息。related settings.py(CRUD是我们开发的一个内部框架,主要为我们加载通用模板):
kill-9
。我以前从未遇到过这种情况-今天早上我的应用程序运行顺利。我上次成功运行syncdb是在3天前。当时我已经定义了修正,而且效果很好。我修改了模型以包含一个新字段——一个允许为null的不可编辑外键——删除表并点击syncdb。现在这个。我很乐意发布人们认为必要的任何信息。related settings.py(CRUD是我们开发的一个内部框架,主要为我们加载通用模板):
编辑:好,我添加的新外键会导致问题。任何其他表的外键都可以正常工作,对外键的修改不会改变任何内容(例如,上下移动外键以便在不同的时间对其进行解析,使其可编辑,使其不接受空值)。以下是我要将外键输入到的表的定义,票证:
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)
您的数据库是否正常运行?你独立测试过吗?是的。这个项目完全可行。实际上,我回来发布了一个更新:如果我删除了刚才添加的外键字段并重新运行syncdb,那么表将被适当地创建。永久挂起行为似乎取决于我是否指定外键。有问题的行在这里:ticket=models.ForeignKey(ticket,editable=False,blank=True,null=True)我想您的数据库可能遇到了某种约束冲突。想知道如果您试图在direct sql语句中手动添加此字段会发生什么情况?后续:在类定义中相对于其他字段上下移动行不会改变任何内容,也不会使键可编辑。如果有人在运行打开的shell或dbshell,Postgres会像这样挂起。在进行架构更改之前,请尝试关闭这些数据库。您的数据库是否正常运行?你独立测试过吗?是的。这个项目完全可行。实际上,我回来发布了一个更新:如果我删除了刚才添加的外键字段并重新运行syncdb,那么表将被适当地创建。永久挂起行为似乎取决于我是否指定外键。有问题的行在这里:ticket=models.ForeignKey(ticket,editable=False,blank=True,null=True)我想您的数据库可能遇到了某种约束冲突。想知道如果您试图在direct sql语句中手动添加此字段会发生什么情况?后续:在类定义中相对于其他字段上下移动行不会改变任何内容,也不会使键可编辑。如果有人在运行打开的shell或dbshell,Postgres会像这样挂起。在进行架构更改之前,请尝试关闭这些对话框。
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 + '/'
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)