Django: имена не отображаются в раскрывающемся списке - PullRequest
1 голос
/ 22 июня 2019

Мне нужно показать список стран, которые пользователи могут выбрать из поля страны корабля. Но он показывает объект Country (1), объект Country (2) ... вместо отображения названий стран

Я создал классы для корабля и страны с классом корабля, имеющим внешний ключ страны.


class Ship(models.Model):
    # Fields
    name = models.CharField(max_length=255)
    slug = extension_fields.AutoSlugField(populate_from='name', blank=True)
    created = models.DateTimeField(auto_now_add=True, editable=False)
    callsign = models.CharField(max_length=50)
    last_updated = models.DateTimeField(auto_now=True, editable=False)
    weight = models.DecimalField(max_digits=20, decimal_places=4)

    # RelationShip Fields
    shipflag = models.ForeignKey(
        'manifest.Country', on_delete=models.SET_NULL, 
        related_name="Ships", null=True
    )

    class Meta:
        ordering = ('-created',)

    def __unicode__(self):
        return u'%s' % self.slug

    def get_absolute_url(self):
        return reverse('manifest_Ship_detail', args=(self.slug,))

    def get_update_url(self):
        return reverse('manifest_Ship_update', args=(self.slug,))


class Country(models.Model):

    # Fields
    name = models.CharField(max_length=255)
    slug = extension_fields.AutoSlugField(populate_from='name', blank=True)
    created = models.DateTimeField(auto_now_add=True, editable=False)
    last_updated = models.DateTimeField(auto_now=True, editable=False)
    code = models.CharField(max_length=5)

    # RelationShip Fields
    continent = models.ForeignKey(
        'manifest.Continent',
        on_delete=models.CASCADE, related_name="Countrys", 
    )

    class Meta:
        ordering = ('-created',)

    def __unicode__(self):
        return u'%s' % self.slug

    def get_absolute_url(self):
        return reverse('manifest_Country_detail', args=(self.slug,))

    def get_update_url(self):
    return reverse('manifest_Country_update', args=(self.slug,))

В форме «Создать новый корабль» в раскрывающемся списке «Страна» я ожидаю увидеть список таких стран, как США, Мексика, Канада ... но вместо этого я вижу страны как объекты, подобные этому объекту (1), Объект страны (2) ...

1 Ответ

2 голосов
/ 22 июня 2019

добавьте этот метод к вашим моделям.;)

def __str__(self):
        return self.name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...