Django制造大量油田的麻烦

2024-05-11 09:03:14 发布

您现在位置:Python中文网/ 问答频道 /正文

正在将我的Access应用程序迁移到Python/Django。现有的数据库,所以使用Inspectdb创建模型,我根据需要进行调整,直到它们与实际的数据库匹配。在Meta中标记为Manage=False的所有模型。你知道吗

现在我想在父表中添加一个多对多字段,但遇到了麻烦。模型片段:

class Federalprograms(models.Model):
    fedpgmid = models.IntegerField(db_column='FedPgmID', primary_key=True)  # Field name made lowercase.
    fedpgmname = models.CharField(db_column='FedPgmName', max_length=50)  # Field name made lowercase.
    active = models.IntegerField(db_column='Active', blank=True, null=True, default=0)  # Field name made lowercase.
    seq = models.IntegerField(db_column='Seq', blank=True, null=True, default=0)  # Field name made lowercase.
    loanfee = models.DecimalField(db_column='LoanFee', max_digits=10, decimal_places=5, blank=True, null=True, default=0.00000)  # Field name made lowercase.

class Reports(models.Model):
    reportname = models.CharField(db_column='ReportName', primary_key=True, max_length=50)  # Field name made lowercase.
    reporttitle = models.CharField(db_column='ReportTitle', max_length=50, blank=True, null=True)  # Field name made lowercase.
    datefielddefault = models.IntegerField(db_column='DateFieldDefault', blank=True, null=True)  # Field name made lowercase.
    startdatedefault = models.CharField(db_column='StartDateDefault', max_length=15, blank=True, null=True)  # Field name made lowercase.
    enddatedefault = models.CharField(db_column='EndDateDefault', max_length=15, blank=True, null=True)  # Field name made lowercase.
    detailsdefault = models.BooleanField(db_column='DetailsDefault', max_length=1, blank=True, null=False)  # Field name made lowercase.
    totalsdefault = models.BooleanField(db_column='TotalsDefault', max_length=1, blank=True, null=False)  # Field name made lowercase.
    askfedpgm = models.BooleanField(db_column='AskFedPgm', blank=True, null=False, default=0)  # Field name made lowercase.
    fedpgms = models.ManyToManyField('Federalprograms')

所以我添加了“fedpgms”字段,然后做了看起来可行的迁移,然后做了看起来也可行的迁移。但是,联接表reports\u fedpgms没有创建,当我运行应用程序时,出现以下错误:

ProgrammingError at /admin/fc6/reports/StatusReport/change/
(1146, "Table 'fc5.reports_fedpgms' doesn't exist")

我尝试使Reports table manage=True,认为这可能会触发连接表的创建,但这只会在迁移过程中导致错误,即“Reports table already exists”。你知道吗

我对Django这件事有点陌生,我做错什么了?你知道吗

谢谢。。。你知道吗


Tags: namefalsetruefielddbmodelscolumnnull