Django: CharField mit fester Länge, wie?

Ich möchte in meinem Modell ein CharField mit fester Länge haben. Mit anderen Worten, ich möchte, dass nur eine bestimmte Länge gültig ist.

Ich habe versucht, so etwas zu tun

volumenumber = models.CharField('Volume Number', max_length=4, min_length=4)

aber es gibt mir einen Fehler (es scheint, dass ich gleichzeitig max_length und min_length verwenden kann).

Gibt es einen anderen schnellen Weg?

Vielen Dank

BEARBEITEN:

Nach den Vorschlägen einiger Leute werde ich etwas genauer sein:

Mein Modell ist das:

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))

Was ich will ist das dasvolumenumber muss genau 4 Zeichen lang sein

I.E. Wenn jemand '4b' einfügt, gibt Django einen Fehler aus, weil er eine Zeichenkette mit 4 Zeichen erwartet.

Also versuchte ich es mit

volumenumber = models.CharField('Volume Number', max_length=4, min_length=4)

aber es gibt mir diesen Fehler:

Validating models...
Unhandled exception in thread started by <function inner_run at 0x70feb0>
Traceback (most recent call last):
  File "/Library/Python/2.5/site-packages/django/core/management/commands/runserver.py", line 48, in inner_run
    self.validate(display_num_errors=True)
  File "/Library/Python/2.5/site-packages/django/core/management/base.py", line 249, in validate
    num_errors = get_validation_errors(s, app)
  File "/Library/Python/2.5/site-packages/django/core/management/validation.py", line 28, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "/Library/Python/2.5/site-packages/django/db/models/loading.py", line 131, in get_app_errors
    self._populate()
  File "/Library/Python/2.5/site-packages/django/db/models/loading.py", line 58, in _populate
    self.load_app(app_name, True)
  File "/Library/Python/2.5/site-packages/django/db/models/loading.py", line 74, in load_app
    models = import_module('.models', app_name)
  File "/Library/Python/2.5/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/Users/Giovanni/src/djangoTestSite/../djangoTestSite/journaldb/models.py", line 120, in <module>
    class Volume(models.Model):
  File "/Users/Giovanni/src/djangoTestSite/../djangoTestSite/journaldb/models.py", line 123, in Volume
    volumenumber = models.CharField('Volume Number', max_length=4, min_length=4)
TypeError: __init__() got an unexpected keyword argument 'min_length'

Das erscheint natürlich nicht, wenn ich nur "max_length" ODER "min_length" verwende.

Ich habe die Dokumentation auf der Django-Website gelesen und es sieht so aus, als ob ich recht habe (ich kann nicht beide zusammen verwenden), also frage ich, ob es einen anderen Weg gibt, das Problem zu lösen.

Danke noch einmal

Antworten auf die Frage(4)

Ihre Antwort auf die Frage