Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
306 views
in Technique[技术] by (71.8m points)

python - "no such column" after adding a field to the model

environment DJANGO VERSION 1.9 Python 2.7.6

I added a field (scores) to a model class in models.py like this

from django.db import models
from django.contrib.auth.models import User
import urllib
import hashlib


class profile(models.Model):
    user = models.OneToOneField(User)
    nickname = models.CharField(max_length=12, blank=True, null=True)
    use_gravatar = models.BooleanField(default=True)
    location = models.CharField(max_length=20, blank=True, null=True)
    avatar_url = models.URLField(blank=True, null=True)
    website = models.URLField(blank=True, null=True)
    **scores = models.IntegerField(default = 0)**  

and I run the following commands to sync the database.

python manage.py makemigrations
python manage.py migrate

But got this

OperationalError at /
no such column: account_profile.scores
Request Method: GET
Request URL:    http://127.0.0.1:8000/
Django Version: 1.8.4
Exception Type: OperationalError
Exception Value:    
no such column: account_profile.scores
Exception Location: C:Python27libsite-packagesdjangodbackendssqlite3ase.py in execute, line 318
Python Executable:  C:Python27python.exe
Python Version: 2.7.5
Python Path:    
['c:\FairyBBS',
 'C:\Users\user\AppData\Roaming\Python\Python27\site-packages\setuptools-5.4.1-py2.7.egg',
 'C:\Users\user\AppData\Roaming\Python\Python27\site-packages\urlobject-2.4.0-py2.7.egg',
 'C:\Users\user\AppData\Roaming\Python\Python27\site-packages\djangorestframework-0.4.0-py2.7.egg',
 'C:\WINDOWS\SYSTEM32\python27.zip',
 'C:\Python27\DLLs',
 'C:\Python27\lib',
 'C:\Python27\lib\plat-win',
 'C:\Python27\lib\lib-tk',
 'C:\Python27',
 'C:\Users\user\AppData\Roaming\Python\Python27\site-packages',
 'C:\Python27\lib\site-packages']
Server time:    星期四, 17 三月 2016 14:08:04 +0800
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Fast fix.

First remove field scores, Then

python manage.py makemigrations
python manage.py migrate

If any error happens

python manage.py migrate --fake

Then add field scores.Then

python manage.py makemigrations
python manage.py migrate

Hope this helps.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...