相关疑难解决方法(0)

Django:CharField有固定长度,怎么样?

我希望在我的模型中有一个固定长度的CharField.换句话说,我希望只有指定的长度才有效.

我试着做点什么

volumenumber = models.CharField('Volume Number', max_length=4, min_length=4)
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误(似乎我可以同时使用max_length和min_length).

还有另一种快捷方式吗?

谢谢

编辑:

根据一些人的建议,我会更具体一些:

我的模型是这样的:

class Volume(models.Model):
    vid = models.AutoField(primary_key=True)
    jid = models.ForeignKey(Journals, db_column='jid', null=True, verbose_name = "Journal")
    volumenumber = models.CharField('Volume Number')
    date_publication = models.CharField('Date of Publication', max_length=6, blank=True)
    class Meta:
        db_table = u'volume'
        verbose_name = "Volume"
        ordering = ['jid', 'volumenumber']
        unique_together = ('jid', 'volumenumber')
    def __unicode__(self):
        return (str(self.jid) + ' - ' + str(self.volumenumber))
Run Code Online (Sandbox Code Playgroud)

我想要的是volumenumber必须是4个字符.

IE如果有人插入'4b'django会出错,因为它需要一个4个字符的字符串.

所以我尝试了

volumenumber = models.CharField('Volume Number', max_length=4, min_length=4)
Run Code Online (Sandbox Code Playgroud)

但它给了我这个错误:

Validating models...
Unhandled exception …
Run Code Online (Sandbox Code Playgroud)

django django-models

62
推荐指数
4
解决办法
4万
查看次数

标签 统计

django ×1

django-models ×1