gpt4 book ai didi

python - ValueError : Cannot create form field for 'author' yet, 因为其相关模型 'settings.AUTH_USER_MODEL' 尚未加载

转载 作者:行者123 更新时间:2023-12-01 02:22:19 25 4
gpt4 key购买 nike

我正在尝试使用自定义身份验证模型建立一个基本博客。我试图让一个简单的表格发挥作用,但不知何故我无法使其发挥作用。我不确定是什么导致了错误。这是一个新的应用程序,也是我正在开发的一个新项目。

我尝试从文档中引用,但我不确定我做错了什么。我该如何修复这个错误?提前致谢

文档:https://docs.djangoproject.com/en/1.11/topics/auth/customizing/#changing-to-a-custom-user-model-mid-project

类似问题:Cannot create form field for 'created_by' yet, because its related model 'users.User' has not been loaded yet

我当前的代码

模型.py

class User(AbstractUser):
pass

class Post(models.Model):
author = models.ForeignKey('settings.AUTH_USER_MODEL')
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)

表单.py:

from blog.models import User

class PostForm(forms.ModelForm):
image = forms.CharField(
widget=forms.FileInput(attrs={'class': 'form-control'}),required=False)


class Meta():
model = Post
fields = ('author','title', 'text','image')
widgets = {
'title': forms.TextInput(attrs={'class': 'textinputclass'}),
}

View .py

from blog.forms import PostForm, CommentForm

class CreatePostView(LoginRequiredMixin,CreateView):
...
form_class = PostForm
model = Post
def form_valid(self,form):
if self.request.POST:
post = form.save()
return HttpResponseRedirect('/')

设置.py:

AUTH_USER_MODEL = 'blog.User'

admin.py:

from .models import User
from django.contrib.auth.admin import UserAdmin
admin.site.register(User,UserAdmin)

最佳答案

您应该使用settings.AUTH_USER_MODEL,而不是字符串'settings.AUTH_USER_MODEL':

class Post(models.Model):
author = models.ForeignKey(settings.AUTH_USER_MODEL)

关于python - ValueError : Cannot create form field for 'author' yet, 因为其相关模型 'settings.AUTH_USER_MODEL' 尚未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47847605/

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