AttributeError:模块'django.db.models'没有属性'Models'

时间:2019-04-17 21:03:18

标签: python django

当我尝试将新应用迁移到服务器时,出现此错误

  

AttributeError:模块'django.db.models'在终端中没有属性'Models'

我正在使用PyCharm。我对Django和Web开发非常陌生,因此任何技巧都会有所帮助。谢谢!

from django.db import models

# Create your models here.
class product(models.Model):
    item = models.Textfiels()
    description = models.Textfields()
    price = models.Textfields()

3 个答案:

答案 0 :(得分:0)

没有这样的类django.db.models.TextFields,但是它在任何最新版本中都对我有用:

from django.db import models
class product(models.Model):
    item = models.TextFiel()
    description = models.TextField()
    price = models.TextField()

您输入了2个错字:正确的名称是TextField,然后键入了Textfields(Python区分大小写)

我怀疑您没有在PyCharm下正确设置您的项目。正确设置后,它会在拼写错误的名称(带有默认设置的带红点的名称下划线)上显示警告。

答案 1 :(得分:0)

此问题还有另一种变化形式,其形式为:

AttributeError: module 'django.contrib.auth' has no attribute 'models'

据我所知,这通常是由于导入冲突或导入文件不正确引起的。另一个原因可能是对Django更新的更改,但是我不确定,因为我没有找到任何文档可以更改Django库的这一方面。

对此的短期解决方案如下:

from django.contrib.auth import models

class MyClass(models.User): """ """

这将至少允许您在所选的浏览器上测试runserver命令和网站。

我仍在尝试解决此问题的任何其他解决方案,这些解决方案可以作为单独导入“身份验证”模块本身的修复程序。

在撰写本文时,我正在使用Django 2.2.6,而Django 2.2.7已发布,而2.2.8即将发布。

答案 2 :(得分:0)

我不确定这是否是解决方案,但是当我遇到这个问题时,是因为在我的admin.py文件中

from django.contrib import admin

from meetings.models import Meeting, Room

admin.site.register(Meeting, Room)

但是将其更改以解决问题

from django.contrib import admin

# Register your models here.
from meetings.models import Meeting, Room

admin.site.register(Meeting)
admin.site.register(Room)