【问题标题】:Django Field defines a relation with model , which is either not installed, or is abstractDjango Field 定义了一个与 model 的关系,它要么没有安装,要么是抽象的
【发布时间】:2018-05-23 16:37:36
【问题描述】:

我的代码如下图:

class X(models.Model):

    class Meta:
        db_table = 'X'

    ph_no = models.CharField(max_length =255,null=False)

    y = models.ForeignKey('y',on_delete=models.CASCADE)


class M(models.Model):

    class Meta:
        db_table = 'M'

    comment = models.CharField(max_length=255,null= False)

    x = models.ForeignKey('X',on_delete=models.CASCADE)



class y (models.Model):

    class Meta:
        db_table = 'y'

    details =  models.TextField(null= False)

现在,当我使用此架构运行迁移时,我收到以下错误

appName.M.x: (fields.E300) Field defines a relation with model 'X', which is either not installed, or is abstract.
appName.M.x: (fields.E307) The field appName.M.x was declared with a lazy reference to 'appName.X', but app 'appName' doesn't provide model 'X'.

我的settings.py文件如下:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'rest_framework.authtoken',
    'dashboard'
]

【问题讨论】:

  • 你确定你的ForeignKey中没有写小写 'x'吗?名称区分大小写。
  • 是的,我在代码中写了大写的'X'
  • 如果您使用X 而不是'X' 并执行导入会怎样?您是否注册了Xsettings.py 中定义的应用程序?
  • 我同意这一点。错误清楚地表明'appName' doesn't provide model 'X'
  • 你能分享一下你的模型声明'y'吗?

标签: django django-models django-rest-framework


【解决方案1】:

在已安装的应用中

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'rest_framework.authtoken',

*'dashboard'*

with 
'dashboard.apps.DashboardConfig'
]

仪表板应用程序中的apps.py

   from django.apps import AppConfig

类 DashboardConfig(AppConfig): 名称 = '仪表板'

【讨论】:

    猜你喜欢
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    • 2020-08-03
    • 2013-04-20
    • 1970-01-01
    • 2014-12-05
    相关资源
    最近更新 更多