Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取对象中的所有字段。filter()django_Django_Object_Filter_Models - Fatal编程技术网

如何获取对象中的所有字段。filter()django

如何获取对象中的所有字段。filter()django,django,object,filter,models,Django,Object,Filter,Models,我试图让所有字段显示,但我只得到我的几个字段。我不确定为什么我的观点是这样的 我的观点导入 def switchingowners(request): ownersofcar = Owner.objects.filter(CarID = request.user['CarID']) for owner in ownersofcar : addingOwner = models.Owner(CarID=form['CarID'],Owner_Date=ownerofcar[

我试图让所有字段显示,但我只得到我的几个字段。我不确定为什么我的观点是这样的

我的观点导入

def switchingowners(request):
ownersofcar = Owner.objects.filter(CarID = request.user['CarID'])
for owner in ownersofcar :
            addingOwner = models.Owner(CarID=form['CarID'],Owner_Date=ownerofcar['Owner_Date']
                )
好的,我的模特看起来像

class Owner(models.Model):

carID = models.ForeignKey(Car)    
Owner_Entry_Number = models.IntegerField()
Owner_Date = models.DateField('Proprietor start date', null=True, blank=True)

Owner_Last_Name = models.CharField(max_length=50, null=True, blank=True)
Owner_First_Name = models.CharField(max_length=50, null=True, blank=True)
Owner_Middle_Initial = models.CharField(max_length=6, null=True, blank=True)
Owner_Address = models.CharField(max_length=80, null=True, blank=True)
我的数据库后端包含所有字段中的信息

ownersofcar = Owner.objects.filter(CarID = request.user['CarID'])
它告诉我打字错误 我看到的过滤对象是

self    

[<Owner: 1248612 MALCOLM  DESRIVIERES >, <Owner: 1248612  JULIETTA  REMY >, <Owner: 1248B612 THERESA  DESIR >, <Owner: 1248B612 ALEXANDER JEAN>]
self
[, , ]
其他领域究竟在哪里?我没有看到任何文档,关于加密哪些字段,我想接收,因为我想他们所有

每个领域都有重要的信息 我基本上是把所有的名字从一辆车换成另一辆车/多辆车


但是筛选器并没有返回所有字段

我假设您得到了一个类型错误,因为您正在执行
请求。user['CarId']
。除非您使用自定义用户类,否则这是无效的

所有字段都在那里,您看到的只是由
\uuuu str\uuuuuu
\uuuuuuu unicode\uuuuu
所有者方法定义的结果的字符串表示

更改此方法或打印所需的字段,例如:

for owner in ownersofcar:
    logger.error(owner.Owner_Address)

多亏了你的一个建议,当字段丢失时,我意识到了这个错误。我的同事重写了str()方法,并没有注意到这一点 覆盖正是它所需要的。不包括其他字段


谢谢大家

其他字段都在,为什么你认为它们不在?您可以像访问任何其他属性一样访问它们。但是,您应该显示给出TypeError的代码。这只是字符串表示。如果您想查看其中的所有字段,只需重写
\uuuu str\uuuu
方法并返回所需的表示形式。它会告诉我typeerror并指定要查找的字段!它打印queryset附带的字段,还有一些字段丢失我还做了一个logger.error(ownerofcar)并且它仍然没有显示所有字段当我这样做时,我得到'queryset'对象没有属性'Owner\u Address',那么你有一个queryset,而不是一个对象。简单地说,QuerySet是没有属性的对象列表。我建议看一看Django文档中关于查询的内容:除了Daniel所说的TypeError之外,您似乎仍然没有理解其他人所说的要点。田野都在那里。str表示就是模型的用户定义表示。表示不是模型。字段在那里并且可以访问-如果您这样做,使用代码示例,并且ownersofcar是查询集,您将看到,例如ownersofcar[0]。Owner\u Last\u Name将为您提供该字段。