簡體   English   中英

(Django)無法分配“u'1”:“StaffProfile.user”必須是“用戶”實例

[英](Django) Cannot assign “u'1'”: “StaffProfile.user” must be a “User” instance

我有一個如下模型:

class StaffProfile(models.Model):
    user = models.ForeignKey(User)
    maas = models.FloatField()
    maas_gunu = models.CharField(max_length=5)

當我嘗試使用如下代碼插入數據時:

staffprofilesay = StaffProfile.objects.filter(user = user_id).count()

     if staffprofilesay > 0:
        staffprofile = StaffProfile.objects.get(user = user_id)
     else:    
        staffprofile = StaffProfile()

     staffprofile.user = user_id
     staffprofile.maas = calisan_formu.cleaned_data["maas"]
     staffprofile.maas_gunu = calisan_formu.cleaned_data["maas_gunu"]
     staffprofile.save()

我收到這樣的錯誤:

Cannot assign "u'1'": "StaffProfile.user" must be a "User" instance.

我應該做些什么?

PS:我正在使用Django的用戶模型

您需要分配一個User對象,例如

from django.contrib.auth.models import User
user = User.objects.get(id=user_id)

staffprofile.user = user

user需要是User模型的實例,而不是unicode對象(這是您傳遞的對象)。

暫無
暫無

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

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