Django:名称未显示在下拉列表中

时间:2019-06-22 06:55:08

标签: django

我需要显示国家/地区列表,以便用户从飞船的国家/地区字段中进行选择。但是它显示的是Country对象(1),Country对象(2)...而不是显示国家/地区名称

我为Ship和Country创建了类,其中Ship类具有国家/地区的外键。


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 个答案:

答案 0 :(得分:2)

将此方法添加到模型中。 ;)

def __str__(self):
        return self.name