Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django中的模型定义调试_Python_Django - Fatal编程技术网

Python django中的模型定义调试

Python django中的模型定义调试,python,django,Python,Django,下面是我的模型定义,当我运行python manage.py sql应用程序时,它什么都没有。 我的申请名称是application。当我将模型的内容更改为教程时,它出现了正确的sql语句,因此下面的模型中肯定存在一些错误,有人能指出吗 class Applicationinfo(models.Model): applicationinfo_id = models.BigIntegerField(primary_key=True, db_column='ApplicationInfo_i

下面是我的模型定义,当我运行python manage.py sql应用程序时,它什么都没有。 我的申请名称是application。当我将模型的内容更改为教程时,它出现了正确的sql语句,因此下面的模型中肯定存在一些错误,有人能指出吗

class Applicationinfo(models.Model):
    applicationinfo_id = models.BigIntegerField(primary_key=True, db_column='ApplicationInfo_id') # Field name made lowercase.
    mainproduct = models.CharField(max_length=300, db_column='MainProduct') # Field name made lowercase.
    subproduct = models.CharField(max_length=300, db_column='SubProduct') # Field name made lowercase.
    appname = models.CharField(max_length=300, db_column='AppName') # Field name made lowercase.
    employee = models.CharField(max_length=48, db_column='Employee') # Field name made lowercase.
    employeeid = models.CharField(max_length=24, db_column='Employeeid') # Field name made lowercase.
    applicantmail = models.CharField(max_length=90, db_column='applicantMail') # Field name made lowercase.
    mailnotifytimes = models.IntegerField(db_column='MailNotifyTimes') # Field name made lowercase.                                                                                                          
    applicantim = models.CharField(max_length=48, db_column='ApplicantIM') # Field name made lowercase.
    applicantmobilephone = models.CharField(max_length=33, db_column='ApplicantMobilephone') # Field name made lowercase.
    messagenotifytimes = models.IntegerField(db_column='MessageNotifyTimes') # Field name made lowercase.
    applicantdpt = models.CharField(max_length=300, db_column='ApplicantDPT') # Field name made lowercase.
    applicationdate = models.DateTimeField(db_column='ApplicationDate') # Field name made lowercase.
    onlinestorid = models.CharField(max_length=30, db_column='OnlineStorID') # Field name made lowercase.
    appid = models.BigIntegerField(unique=True, db_column='AppID') # Field name made lowercase.
    tapesavecopies = models.IntegerField(null=True, db_column='TapeSaveCopies', blank=True) # Field name made lowercase.
    appowner = models.CharField(max_length=48, db_column='AppOwner', blank=True) # Field name made lowercase.
    appownermail = models.CharField(max_length=96, db_column='AppOwnerMail', blank=True) # Field name made lowercase.
    subproductowner = models.CharField(max_length=48, db_column='SubProductOwner', blank=True) # Field name made lowercase.
    subproductownermail = models.CharField(max_length=96, db_column='SubProductOwnerMail', blank=True) # Field name made lowercase.
    mainproductowner = models.CharField(max_length=48, db_column='MainProductOwner', blank=True) # Field name made lowercase.
    mainproductownermail = models.CharField(max_length=96, db_column='MainProductOwnerMail', blank=True) # Field name made lowercase.
    applicationreason = models.CharField(max_length=500, db_column='ApplicationReason', blank=True)
    filetype = models.BooleanField(db_column='FileType')
    applicationstatus = models.IntegerField(db_column='ApplicationStatus')

    class Meta:
        db_table = 'applicationinfo'
        app_label = 'backupcenter1'

应用程序标签
设置为
'backupcenter1'
,请将其删除

app\u label='backupcenter1'
意味着,据Django所知,此型号不属于您的
应用程序
应用程序,而是属于
backupcenter1
应用程序。因此,为什么它不会显示在
应用程序的SQL输出中



另外,请注意,
application
对于应用程序来说是一个糟糕的名称,您可能需要更改它。

您是否正确导入了模型?另外,运行python manage.py syncdb是否会出现错误消息?是的,如果我在教程中将内容更改为模型,它将是正确的。我不是这样问的。您是否已使用从django.db导入模型导入模型,当您运行syncdb时,是否会收到错误消息?如果我运行python manage.py sql backupcenter1,它会告诉CommandError:找不到标签为backupcenter1的应用程序。你确定你安装的应用设置正确吗?@young001我认为
app\u label
告诉Django此型号属于
backupcenter1
,但它不是你拥有的应用,因此出现了错误。您是否尝试删除了
应用程序标签
?@young001,这似乎表明该应用程序未在您的设置中的“已安装的应用程序”下列出,这很可能是问题所在。如果我删除应用程序标签,它工作正常。但我设置的应用程序标签是使用多个数据库;如果我删除了app_标签,如何使用多数据库?@young001
app_标签
定义了您的模型所属的应用程序,因此如果您不使用它,它将是
“应用程序”
。在使用之前,我推荐你。在您的情况下,您只需将
backup\u center
属性添加到
Meta
,并在DB
路由器中访问此属性表单:
模型。_Meta.backup\u center
<代码>应用程序标签
不仅仅用于DB路由。