Django:python manage.py syncdb永远挂起

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是我们开发的一个内部框架,主要为我们加载通用模板):

输出如下所示(项目名为parkingtickets):

然后它永远挂着。如果我暂停进程并杀死它,它不会死;我必须使用
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)