小编Dav*_*d.B的帖子

类型错误:字段“id”需要一个数字,但在 0x000002B6ADE878D0 处得到了 DeferredAttribute 对象

我在 Django 中使用查询集 - 每当我运行服务器时,它都会出错。

TypeError: Field 'id' expected a number but got <django.db.models.query_utils.DeferredAttribute object at 0x000002B6ADE878D0

这是我的表单的查询集导致错误的原因。

我不知道是我的models.py还是我的forms.py有问题 我尝试在 Google 上查找这个DeferredAttribute 对象,但我真的没有看到任何对我有用的答案。

表格.py:

from .models import Task, Categories
from django import forms
from django.forms import ModelForm
from django.db.models import Q

class TaskForm(ModelForm):

    task_title = forms.CharField(max_length=100)
    task_description = forms.CharField(widget=forms.Textarea)        
    due_date = forms.DateTimeField()    
    is_completed = forms.BooleanField()
    #categories = forms.ModelChoiceField(empty_label="---None---")

    class Meta:
        model = Task
        fields = ['task_title', 'task_description', 'due_date', 'is_completed', 'categories', 'parent']        

    def __init__(self, user, …
Run Code Online (Sandbox Code Playgroud)

python django django-models django-forms

6
推荐指数
1
解决办法
6800
查看次数

如何在基于类的视图中返回 JSON 响应,而不是 HTTP 响应

我有一个基于阶级的观点。我在引导模式上使用 Ajax。为了避免页面刷新,我想使用基于类的视图返回 JSON 响应而不是 HTTP 响应,但我只看到了如何为基于函数的视图返回 JSON 响应。

视图.py:

from django.contrib.auth.mixins import LoginRequiredMixin

class TaskCreateView(LoginRequiredMixin, CreateView):
    template_name = 'create.html'
    form_class = TaskForm
    success_url = reverse_lazy('task_list')

    def get_form_kwargs(self):
        kwargs = super().get_form_kwargs()
        kwargs.update(user=self.request.user)
        return kwargs
Run Code Online (Sandbox Code Playgroud)

python django ajax json django-views

4
推荐指数
1
解决办法
3779
查看次数

标签 统计

django ×2

python ×2

ajax ×1

django-forms ×1

django-models ×1

django-views ×1

json ×1