gpt4 book ai didi

python - 如何修复 str 对象没有属性 '_meta'

转载 作者:行者123 更新时间:2023-11-28 22:10:23 26 4
gpt4 key购买 nike

我正在 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)
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')

我得到 属性错误:“str”对象没有属性“_meta”

最佳答案

admin.site.register(..) [Django-doc]的参数是一个模型,或者可迭代的模型;以及可选的模型管理员。不是该型号的字符串。

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

喜欢:

# app/admin.py

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

# an identifier, <i>not</i> a string
admin.site.register(<b>UserProfileInfo</b>)

关于python - 如何修复 str 对象没有属性 '_meta',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56834233/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com