当我尝试将新应用迁移到服务器时,出现此错误
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()
答案 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)