Python 如何修复str对象没有属性“\u meta”

Python 如何修复str对象没有属性“\u meta”,python,django,django-models,django-forms,forms-authentication,Python,Django,Django Models,Django Forms,Forms Authentication,我正在Django项目中迁移我的模型,但正在生成错误。下面是代码。要解决这个问题,我的代码中应该有哪些更正 Models.py from django.db import models from django.contrib.auth.models import User # Create your models here. class UserProfileInfo(models.Model): user = models.OneToOneField(User, on_delete

我正在Django项目中迁移我的模型,但正在生成错误。下面是代码。要解决这个问题,我的代码中应该有哪些更正

Models.py
from django.db import models
from django.contrib.auth.models import User

# Create your models here.
class UserProfileInfo(models.Model):

    user = models.OneToOneField(User, on_delete=models.CASCADE)

    #addtional
    portfolio_site = models.URLField(blank=True)

    profile_pic = models.ImageField(blank=True,upload_to="profile_pics")

    def __str__(self):
        return (self.user.username)
我越来越 属性错误:“str”对象没有属性“\u meta”

的参数是一个模型,或一个模型的iterable;和可选的模型管理员。不是那种类型的字符串

因此,应该传递对UserProfileInfo的引用,而不是包含该名称的字符串

比如:


无需使用字符串包装模型,只需在admin.py中键入模型名称


阅读手册可能有助于:
Forms.py
from django import forms
from django.contrib.auth.models import User
from basic_app.models import UserProfileInfo

class UserForm(forms.ModelForm):
    password = User.CharField(widget=forms.PasswordInput())

    class Meta():
        model = User
        fields = ['username','email', 'password']


class UserProfileInfo(forms.ModelForm):
    class Meta():
        model = UserProfileInfo
        fields=['portfolio_site','profile_pic']     
Admin.py
from django.contrib import admin
from basic_app.models import UserProfileInfo


# Register your models here.
admin.site.register('UserProfileInfo')
# app/admin.py

from django.contrib import admin
from basic_app.models import UserProfileInfo

# an identifier, not a string
admin.site.register(UserProfileInfo)
Admin.py
from django.contrib import admin
from basic_app.models import UserProfileInfo


# Register your models here.
admin.site.register(UserProfileInfo)