簡體   English   中英

AttributeError: 模塊 'django.db.models' 沒有屬性 'Models'

[英]AttributeError: module 'django.db.models' has no attribute 'Models'

當我嘗試將新應用程序遷移到服務器時出現此錯誤

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()

沒有這樣的類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 下正確設置你的項目。 正確設置后,它會顯示拼寫錯誤名稱的警告(默認設置下帶有紅點下划線的名稱)。

這個問題還有另一個變體,形式如下:

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

據我所知,這通常是由導入沖突或導入文件不正確引起的。 另一個原因可能是 Django 更新的更改,但我不確定,因為我沒有找到任何文檔來更改 Django 庫的那個方面。

對此的短期解決方案如下:

from django.contrib.auth import models

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

這將允許您至少在您選擇的瀏覽器上測試您的 runserver 命令和網站。

我仍在嘗試找出解決此問題的任何其他解決方案,這些解決方案可以解決單獨導入“auth”模塊本身的問題。

在撰寫本文時,我使用的是 Django 2.2.6,而 Django 2.2.7 已經發布,2.2.8 即將發布。

我不確定這是否是解決方案,但當我遇到這個問題時,是因為在我的 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM