首页 > 解决方案 > 关系“”不存在

问题描述

我正在使用 postgresql 数据库在 django 中创建一个项目。当我运行我的服务器时,页面返回错误

relation "backtest_trade" does not exist
LINE 1: INSERT INTO "backtest_trade" ("pos", "neg", "profit", "trans...

当我尝试使用 back.save() 将模型保存在数据库中时,其中 back 是模型的变量。我已经在我的应用程序的 models.py 中注册了模型。

我知道数据库中没有创建表,但我的理解是 admin.register 应该这样做。我试着抬头看,但没有一个问题能帮助我。

from django.contrib import admin
from django.db import models
from django.contrib.postgres.fields import ArrayField


# Create your models here.
class trade(models.Model):

    pos = models.IntegerField(default = 0)
    neg = models.IntegerField(default = 0) 
    profit = models.IntegerField(default = 0) 
    transaction = ArrayField(models.DecimalField(decimal_places = 3, max_digits= 9,default= 0), default = list)
    investment = ArrayField(models.DecimalField(decimal_places = 3, max_digits= 9,default = 0), default = list)
    sell = ArrayField(models.DecimalField(decimal_places = 3, max_digits= 9, default = 0), default = list)
    entry_date = ArrayField(models.CharField(max_length = 20, default=''), default = list )
    exit_date = ArrayField(models.CharField(max_length = 20, default = ''),default = list)
    name = models.CharField(max_length = 100, default = "hello")

admin.site.register(trade)

编辑:我试过运行 makemigrations 和 migrate

标签: djangopostgresql

解决方案


我发现了我的错误。我必须迁移我的模型所在的特定应用程序。运行后

python manage.py makemigrations backtest

回测是应用程序,我遇到了一些错误,但表是在数据库中创建的


推荐阅读