2017-10-10 13 views
0

嗨我有一个模型,有这样的返回语句。在django获取def unicode字符串信息

def __unicode__(self): 
     return u'Car from: %s' % self.car_from 

如果我打电话给模型并打印它,它会显示出来。

mymodel = CarFromData.objects.filter(user = self.user) 
<QuerySet [<CarFromData: Car from: CarRoom 1>]> 

我想在我看来访问self.car_from。所以我可以将 CarRoom1存储在一个变量中。

我试过这样

x = mymodel.model.__name__ 

但是这并没有给我这个字符串的信息。

回答

2

car_from不过是CarFromData模型的一个属性。所以,它的价值可以通过以下方式得到:

mymodel = CarFromData.objects.filter(user=self.user) 
myobject = mymodel.first() 
x = None 
if myobject: 
    x = myobject.car_from 
+0

什么是.first(),因为那是什么工作? –

+0

.first()从QuerySet中提供第一个对象。你应该在这里阅读文档https://docs.djangoproject.com/en/1.11/ref/models/querysets/#first –

+0

嗨穆罕默德,我试图做一个循环思考,如果有多个名称查询设置我可以在car_from_data中为cfd执行此操作 : obj = cfd.first() 但是这并不奏效,为什么? –