![](/img/trans.png)
[英]django.db.utils.ProgrammingError: relation “…” does not exist
[英]django.db.utils.ProgrammingError: relation “ - ” does not exist
(Django新手) - 我正在寻找使用外键创建两个 model 。 第一个 model 称为Portfolio
,每个 Portfolio 通过第二个 model Portfoliomember
有多个成员。 它目前看起来像这样:
class Portfolio(models.Model):
portfolio_name = models.CharField(max_length=30, blank=True, null=True)
def __str__(self):
return self.portfolio_name
class Meta:
db_table = "portfolio"
class PortfolioMember(models.Model):
portfolio = models.ForeignKey(Portfolio, related_name = "portfoliomember", on_delete=models.CASCADE)
quality = models.FloatField(blank=True, null=True)
def __str__(self):
return self.portfolio
class Meta:
db_table = "portfoliomember"
后来我的目标是在表单中使用表单集。 但是现在,当我尝试创建迁移时,我得到以下信息:
Running migrations:
Applying app.0019_auto_20210318_1544...Traceback (most recent call last):
File "C:\Users\FrankyDoul\AppData\Local\Programs\Python\Python37\lib\site-packages\django\db\backends\utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedTable: relation "portfoliomember" does not exist
django.db.utils.ProgrammingError: relation "portfoliomember" does not exist
有一个明显的原因为什么这不起作用?
为什么要在 Meta class db_table 中定义? 我不知道您的应用名称是什么,但通常您不需要这样做,除非有特定原因。 See this ( https://docs.djangoproject.com/en/3.1/ref/models/options/ ) " Django automatically derives the name of the database table from the name of your model class and the app that contains it".
因此,当您定义 db_table = 'another_name' 时,您会覆盖数据库表名。 我建议删除这一行,即 db_table = "portfoliomember" 并查看错误是否仍然存在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.