python - 为什么我仍然得到“DeferredAttribute”对象没有属性“对象”?
问题描述
经过几天的搜索,我仍然无法克服这个障碍。我只是想打印卖家的描述列表作为视图。这就是我正在使用的...
模型.py:
from django.db import models
class Sellers(models.Model):
index = models.BigIntegerField(blank=True, null=False)
seller = models.TextField(db_column='SELLER', blank=False, null=False,
primary_key=True)
block = models.TextField(db_column='BLOCK', blank=False, null=False)
street = models.TextField(db_column='STREET', blank=False, null=False)
space = models.TextField(db_column='SPACE', blank=False, null=False)
description = models.TextField(db_column='DESCRIPTION', blank=True, null=True)
document_with_idx = models.TextField(blank=False, null=False)
document_with_weights = models.TextField(blank=False, null=False)
class Meta:
managed = False
db_table = 'Sellers'
def __str__(self):
return self.index
'''
视图.py:
from django.http import HttpResponse
from search.models import Sellers
def search(request):
output = Sellers.description.objects.all()
return HttpResponse(output)
'''
任何方向都将不胜感激,我觉得我已经阅读了与此相关的所有相关帖子。想是时候用我的确切设置发布一个问题了。谢谢!
解决方案
Sellers.description
指的是领域,所以你基本上得到了TextField
对象,而不是descriptions
对象之一,因为Sellers
是一个类,而不是一个Sellers
对象。您可以通过以下方式获取description
值:
from django.http import JsonResponse
from search.models import Sellers
def search(request):
output = Sellers.objects.values_list('description', flat=True)
return JsonResponse({'data': list(output)})
此外,您不能简单地将其包装在 a 中HttpResponse
,因为它需要一个类似字符串/字节的对象。例如,您可以使用 JSON 对其进行编码JsonResponse
。
推荐阅读
- r - R检查多个变量中的异常值
- python - Python 的 Flask Registration Post 方法 404 错误
- php - Laravel 限制注册用户
- python - 将多个numpy时间序列数组插入一个数组的最有效和/或最简单的方法?
- python - 通过带有 Ctypes 模块的 Python 获取剪贴板(在 Linux 中)
- sqlite - blob 数据类型可以是 .xml 或 .json 的文件吗?
- javascript - React-big-calendar 与拖放
- python - ('filename','w') 是否替换或添加
- python - Python ImportError:从转换器导入 BertTokenizer、BertConfig
- kubernetes-helm - 如何将托管在 Docker Registry 中的 Helm 图表用作 Spinnaker 管道工件