2015-01-15 70 views
0

这是我的模型:查询值Muliple现场外键列

class Personel(models.Model): 
    Numara = models.IntegerField(max_length=10) 
    Isim = models.CharField(max_length=30) 
    Soyisim = models.CharField(max_length=30) 


class Islem(models.Model): 
    MenuAd = models.CharField(max_length=30) 
    Tarih = models.DateTimeField(auto_now_add=True) 
    Personel = models.ForeignKey(Personel) 
    Durum = models.PositiveIntegerField(max_length=5) 

这是我的查询:

sorgu = Islem.objects.all().values('MenuAd', 'Personel') 

sorgu结果:

[{'MenuAd': 'Deneme', 'Personel': 2 }] 

,但是,我想结果:

[{'MenuAd': 'Deneme', 'Personel': '2 - Baris Halici'}] 

ヌ:2
ISIM:巴里斯
Soyisim:Halici

例子 - 建议

def get_full_personel(self): 
    return "'%s - %s %s" % (self.Numara, self.Isim, self.Soyisim) 

感谢,

回答

0

请尝试更改:

class Personel(models.Model): 
    def __unicode___(self): 
     return "'%s - %s %s" % (self.Numara, self.Isim, self.Soyisim) 

___str___(self):如果使用python 3

尽管这可能不会解决这个问题...尝试:

sorgu = Islem.objects.all().values('MenuAd', 'Personel__get_full_personel') 
+0

您好,感谢您的回答。但是,我使用python 2.7 :-(我需要做什么? – barisimnet 2015-01-16 07:48:05

+0

所以设置unicode函数或选择相关列的最后一种方法 – 2015-01-16 13:49:54

+0

我应该怎么做? – barisimnet 2015-01-27 09:48:31