【问题标题】:Django: Names are not showing in drop-down listDjango:名称未显示在下拉列表中
【发布时间】:2019-06-22 06:55:08
【问题描述】:

我需要显示一个国家列表供用户从船舶的国家字段中选择。但它显示的是 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)...

【问题讨论】:

    标签: django


    【解决方案1】:

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

    def __str__(self):
            return self.name
    

    【讨论】:

      猜你喜欢
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-02
      • 2012-06-25
      • 1970-01-01
      • 2013-08-07
      相关资源
      最近更新 更多