我想要一张只能有一张唱片的桌子。我目前的解决方案是:
class HitchingPost(models.Model):
SINGLETON_CHOICES = (('S', 'Singleton'),)
singleton = models.CharField(max_length=1, choices=SINGLETON_CHOICES, unique=True, null=False, default='S');
value = models.IntegerField()
def __unicode__(self):
return u"HitchingPost" # only ever one record
这有点难看,并且没有在MySQL级别强制执行约束。
有更好的解决方案吗?
是否有一个mysql字段类型只能有一个值(布尔值是我找到的最小值,有两种可能性)?以0为基数的数字是我表达这个概念的最接近的数字。
这种东西有数学名称吗?
谢谢,
克里斯。
P.S.生成的SQL是:
CREATE TABLE `appname_hitchingpost` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`singleton` varchar(1) NOT NULL UNIQUE,
`value` integer NOT NULL
)
;