Python django中的模型定义调试
下面是我的模型定义,当我运行python manage.py sql应用程序时,它什么都没有。 我的申请名称是application。当我将模型的内容更改为教程时,它出现了正确的sql语句,因此下面的模型中肯定存在一些错误,有人能指出吗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
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_标签,如何使用多数据库?@young001app_标签
定义了您的模型所属的应用程序,因此如果您不使用它,它将是“应用程序”
。在使用之前,我推荐你。在您的情况下,您只需将backup\u center
属性添加到Meta
,并在DB路由器中访问此属性表单:模型。_Meta.backup\u center
<代码>应用程序标签
不仅仅用于DB路由。