1
我有一個UserProfile類的設置,並通過Django管理控制檯創建了一個用戶配置文件,但我似乎無法從我的視圖訪問userprofile。錯誤是:RelatedObjectDoesNotExist at/mcadb/ 用戶沒有用戶配置文件。有什麼想法,我在這裏失蹤?我看過例子,我看不到它。當我加載視圖時,該錯誤似乎在test = user.userprofile視圖中。謝謝。Django擴展用戶UserProfile:用戶沒有用戶配置文件
models.py
class UserProfile(models.Model):
my_id = models.CharField(max_length=8)
user = models.OneToOneField(User)
views.py
from django.contrib.auth.models import User
from .models import UserProfile
@login_required
def index(request):
user = request.user
test = user.userprofile
嘗試使用:'test = user.userprofile_set' – Gocht
@Gocht,不,OneToOneField不會映射到_set。此外,如果名稱錯誤,它會是一個AttributeError。 @Carrie,嘗試一下調試。添加'print(user);打印UserProfile.objects.all())'在測試行上方,以便在控制檯上查看UserProfile對象是否確實存在。如果沒有,請嘗試創建新的用戶和用戶配置文件,使用新用戶登錄並查看問題是否存在。 – gbs
@gbs,感謝您的建議。我正在使用AWS進行開發,所以我不確定打印是否應該起作用,但看起來似乎沒有。但是我可以將{{user.userprofile.my_id}}添加到我的用於索引視圖的模板中,並且可以正確打印。因此存在用戶和用戶配置文件。 – Carrie