0

schemamigrationモデルで南を試しています(使用していますdjango 1.4 and python 2.6 on ubuntu

当初、私のモデルは

class Review(models.Model):
    reviewdate=models.DateField(default=date.today)
    description=models.TextField()
    author=models.ForeignKey(User,null=True)

フィールドを追加しました

from django.core.validators import MinValueValidator,MaxValueValidator

class Review(models.Model):
    reviewdate=models.DateField(default=date.today)
    description=models.TextField()
    author=models.ForeignKey(User,null=True)
    rating = models.IntegerField(MinValueValidator(1),MaxValueValidator(10),default=5,help_text='integers 1 to 10')

私が走るとき

python manage.py schemamigration myapp --auto

私はこれを得るTypeError

...
File "/home/me/Django-1.4/django/db/models/base.py", line 198, in __new__
    new_class._prepare()
  File "/home/me/Django-1.4/django/db/models/base.py", line 255, in _prepare
    cls.__doc__ = "%s(%s)" % (cls.__name__, ", ".join([f.attname for f in opts.fields]))
TypeError: Error when calling the metaclass bases
    sequence item 6: expected string, MaxValueValidator found

誰かが私が間違っている場所を教えてもらえますか?

4

1 に答える 1

1

構文が正しくありません。validatorsバリデーターを引数のリストとして提供する必要があります。

models.IntegerField(validators=[MinValueValidator(1), MaxValueValidator(10)], default=5, help_text='integers 1 to 10')

詳細については、実際に検証を使用するためのドキュメントを参照してください。

于 2012-11-28T07:58:16.947 に答える