亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法分配“<class 'django.contrib.auth.models.User'>”:

無法分配“<class 'django.contrib.auth.models.User'>”:

眼眸繁星 2022-07-26 09:29:56
創建模型的第一個條目會引發錯誤我執行了以下命令進行遷移manage.py makemigrationsmanage.py migrate一切正常,在我發出這些命令在數據庫中創建第一個“數據”之后manage.py shellfrom sms.models import Postfrom django.contrib.auth.models import Userpost_1 = Post(name="testname", email="testemail", gender="Monsieur", number="23233", author=User)它給了我這個錯誤:ValueError: Cannot assign "<class 'django.contrib.auth.models.User'>": "Post.author" must be a "User" instance.模型.py 文件from django.db import modelsfrom django.contrib.auth.models import UserTHE_GENDER = [    ("Monsieur", "Monsieur"),    ("Madame", "Madame")]class Post(models.Model):    name = models.CharField(max_length=100)    email = models.CharField(max_length=100)    gender = models.CharField(max_length=8, choices=THE_GENDER)    number = models.CharField(max_length=100)    author = models.ForeignKey(User, on_delete=models.CASCADE)    def __str__(self):        return self.name
查看完整描述

1 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

您看到此錯誤是因為您試圖將類對象分配給author屬性。但它假設是用戶實例。所以你應該首先創建用戶記錄并使用它,而不是這樣:

user = User.objects.create_user(username="name", email="[email protected]", password="Pass12345")post_1 = Post(name="testname", email="testemail", gender="Monsieur", number="23233", author=user)

您可以將模型類視為數據庫表。而模型實例代表該表中的記錄。


查看完整回答
反對 回復 2022-07-26
  • 1 回答
  • 0 關注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號