2016-04-04 11 views
0
tarayıcıda
class New(models.Model): 
..... 
category = models.ForeignKey(TourCategory, verbose_name="Tour Category") 

Django yerine TourCategory adının `TourCategory Nesnesi` dize görüntüler

<select id="id_category" name="category"> 
<option value="" selected="selected">---------</option> 
<option value="1">TourCategory object</option> 
<option value="2">TourCategory object</option> 
<option value="3">TourCategory object</option> 
</select> 

Modeli TourCategory

from django.db import models 

class TourCategory(models.Model): 
name = models.CharField(max_length=200, verbose_name="Name") 

class Meta: 
    verbose_name = 'Tour Category' 
    verbose_name_plural = 'Tour categories' 

o TourCategory

+0

TourCategory modeliyle ilgili kodu gönderin. –

+1

Soru başlığınız, gerçek sorunuz olan açıklamayla eşleşmiyor mu? – Sayse

cevap

1

Python isimlerini görüntülenen golle unico kullanmıyorsanız '__unicode__ yöntemini (veya __str__ yöntemini kullanır. de) bu nesnenin object representation değerini görüntülemek için.

Django, admin sitesindeki nesneleri görüntülemek için bu yöntemleri kullanır.

Yani

class TourCategory(models.Model): 
    name = models.CharField(max_length=200, verbose_name="Name") 

    def __unicode__(self): 
     return unicode(self.name) 

    def __str__(self): 
     return self.name 

Look here for the documentation tanımlamak veya __unicode__ (veya __str__) düzeltmek zorunda. Normalde self.nameunicode'a dökmeniz gerekmemelidir, ancak yazıp yazabilmeniz için yazarım.

İlgili konular