2010-03-12 6 views
3

я имею установку, следуя моделейКак отображать поля внешнего ключа в списке объектов администратора Django?

class Player(models.Model): 
    #slug = models.slugField(max_length=200) 
    Player_Name = models.CharField(max_length=100) 
    Nick = models.CharField(max_length=100, blank=True) 
    Jersy_Number = models.IntegerField() 
    Team_id = models.ForeignKey('Team')  
    Postion_Choices = (
     ('M', 'Manager'), 
     ('P', 'Player'), 
) 
    Poistion = models.CharField(max_length=1, blank=True, choices =Postion_Choices) 
    Red_card = models.IntegerField(blank=True, null=True) 
    Yellow_card = models.IntegerField(blank=True, null=True) 
    Points = models.IntegerField(blank=True, null=True) 
    #Pic = models.ImageField(upload_to=path/for/upload, height_field=height,  width_field=width, max_length=100) 
class PlayerAdmin(admin.ModelAdmin): 
    list_display = ('Player_Name',) 
    search_fields = ['Player_Name',] 

admin.site.register(Player, PlayerAdmin) 


class Team(models.Model): 
"""Model docstring""" 
#slug = models.slugField(max_length=200) 
Team_Name = models.CharField(max_length=100,) 
College = models.CharField(max_length=100,) 
Win = models.IntegerField(blank=True, null=True) 
Loss = models.IntegerField(blank=True, null=True) 
Draw = models.IntegerField(blank=True, null=True) 
#logo = models.ImageField(upload_to=path/for/upload, height_field=height, width_field=width, max_length=100)  
class Meta: 
    pass 

#def __unicode__(self): 
    # return Team_Name 

#def save(self, force_insert=False, force_update=False): 
    # pass 

@models.permalink 
def get_absolute_url(self): 
    return ('view_or_url_name') 


class TeamAdmin(admin.ModelAdmin): 
    list_display = ('Team_Name',) 

    search_fields = ['Team_Name',] 

admin.site.register(Team, TeamAdmin) 

мой вопрос, как я могу получить на сайте администратора, чтобы показать Team_name в добавь игрока поля формы Team_ID в настоящее время она только отображается как Team object в поле со списком

ответ

5

вы почти там, вы прокомментировали его и забыл назвать атрибут правильно:

def __unicode__(self): 
    return self.Team_Name 

Читать documentation.

1

Добавьте метод unicode к объекту команды:

def __unicode__(self): 
    return self.Team_name 
4

И обновленными разработчиков (Python 3.x):

def __str__(self): 
    return self.Team_name 
Смежные вопросы