这是我的模特:
class college(models.Model):
image = models.ImageField(upload_to='college_image/',default=None)
name = models.CharField(max_length=100)
email = models.CharField(max_length=100,unique=True)
password = models.CharField(max_length=500)
add_field = models.CharField(max_length=200)
city = models.CharField(max_length=200)
state = models.CharField(max_length=200)
zipcode = models.CharField(max_length=10)
phone = models.CharField(max_length=10, validators=[RegexValidator(r'^[789]\d{9}$')])
status = models.BooleanField(default = True)
last_date = models.DateTimeField()
is_active = models.BooleanField(default = False)
reg_time = models.DateTimeField(auto_now_add=True,blank=True)
questions = ArrayField(models.CharField(max_length=500),blank=True)
def __str__(self):
return self.email
当我在模型中添加了questions
字段并使用了命令&py; manage.py migrate'时出现错误,并显示以下提示:
提示:您需要重写或转换表达式
这是什么意思?我该怎么办?
答案 0 :(得分:0)
我知道这是一个老问题,但是希望这个答案可以对其他人有所帮助。我通过执行以下操作修复了相同的错误:
list
添加到ArrayField。例如。 answers = ArrayField(models.IntegerField(default=list))
migrations
文件夹之外的__init__.py
文件夹中的迁移文件python manage.py make migrations
python manage.py migrate
所以问题在于,在其中一个迁移中,该字段试图将其设置为默认值0(编程错误),但是即使我在代码中修复了该字段,旧的迁移也会受到影响,因此一直失败。 / p>