【问题标题】:How do i replace the charfield with a checkbox in django admin如何在 django admin 中用复选框替换字符域
【发布时间】:2013-08-25 22:11:23
【问题描述】:
好的,这就去。 tapStatus 变量用于决定是否将该项目粘贴到网站上 - 这是一个简单的开关。我正在尝试使管理页面更加用户友好 - 现在我只使用字符字段来接受 1 或 0,但复选框会更合适。我可以修改管理页面以显示复选框而不是文本框吗?
class beer(models.Model):
tapStatus = models.CharField(max_length=1)
def __unicode__(self):
return self.tapStatus
beerdescription = models.CharField(max_length=400)
def __unicode__(self):
return self.beerdescription
beerStyle = models.CharField(max_length=5)
def __unicode__(self):
return self.beerStyle
beerabv = models.CharField(max_length=5)
def __unicode__(self):
return self.beerabv
beername = models.CharField(max_length=40)
def __unicode__(self):
return self.beername
【问题讨论】:
标签:
python
django
forms
django-models
admin
【解决方案1】:
您可以使用BooleanField。这是一个例子:
class beer(models.Model):
tapStatus = models.BooleanField(_('tap status'), default=False,
help_text=_('decide whether or not this item gets pasted onto the website'))
def __unicode__(self):
return str(self.tapStatus)
beerdescription = models.CharField(max_length=400)
def __unicode__(self):
return self.beerdescription
beerStyle = models.CharField(max_length=5)
def __unicode__(self):
return self.beerStyle
beerabv = models.CharField(max_length=5)
def __unicode__(self):
return self.beerabv
beername = models.CharField(max_length=40)
def __unicode__(self):
return self.beername
【解决方案2】:
你可能想要BooleanField:
class BooleanField(**options)
A true/false field.
The default form widget for this field is a CheckboxInput.
If you need to accept null values then use NullBooleanField instead.