首页 > 解决方案 > 无法将关键字“已创建”解析为字段。选项有:日期、id、post、user、user_id?

问题描述

您好我正在尝试将一个名为“created”的字段添加到我的模型中,但是我收到以下错误:无法将关键字“created”解析到字段中。选项有:日期、id、post、user、user_id

追溯:

FieldError at /home/
Cannot resolve keyword 'created' into field. Choices are: date, id, post, user, user_id

Error during template rendering
In template C:\Users\josep\beginnerProjects\tutorial\accounts\templates\base.html, error at line 0

命令/终端:

"Choices are: %s" % (name, ", ".join(available)))
django.core.exceptions.FieldError: Cannot resolve keyword 'created' into field. Choices are: date, id, post, user, user_id

模型.py:

class Post(models.Model):
    post = models.CharField(max_length=500)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

视图.py:

class HomeView(TemplateView):
   template_name = ('home/home.html')

   def get(self, request):
      form = HomeForm()
      posts = Post.objects.all().order_by('created')

      args = {'form': form, 'posts': posts}
      return render(request, self.template_name, args)

   def post(self, request):
      form = HomeForm(request.POST)
      if form.is_valid():
        post = form.save(commit=False)
        post.user = request.user
        post.save()
        text = form.cleaned_data['post']
        form = HomeForm()
        return redirect('home:home')

      args = {'form': form, 'text': text}
      return render(request, self.template_name, args)

标签: pythondjango

解决方案


推荐阅读