모델과 양식을 변경하기 전까지 내 UserProfile이 제대로 작동했습니다. 모델에 DateField를 추가하고 Forms.py 및 템플릿을 업데이트했습니다. 또한 syncdb도했습니다.Django 모델에서 새 필드를 추가 한 후 오류가 발생했습니다.
프로필/models.py
class UserProfiles(models.Model):
user = models.OneToOneField(User)
#other fields here
birthday = models.DateField()
프로필/forms.py
class UserProfileForm(ModelForm):
class Meta:
model = UserProfiles
fields = ('some_field', 'birthday', 'otherfields')
프로필/views.py
def editprofile(request):
return render_to_response('profile_edit.html', {'form':UserProfileForm()}, context_instance=RequestContext(request))
이는 던지고 에러이다.
Traceback:
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "E:\django-sample\proschools\..\proschools\profile\views.py" in generateprofile
12. userprofile = UserProfiles.objects.get(user=request.user)
File "C:\Python27\lib\site-packages\django\db\models\manager.py" in get
132. return self.get_query_set().get(*args, **kwargs)
File "C:\Python27\lib\site-packages\django\db\models\query.py" in get
344. num = len(clone)
File "C:\Python27\lib\site-packages\django\db\models\query.py" in __len__
82. self._result_cache = list(self.iterator())
File "C:\Python27\lib\site-packages\django\db\models\query.py" in iterator
273. for row in compiler.results_iter():
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py" in results_iter
680. for rows in self.execute_sql(MULTI):
File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py" in execute_sql
735. cursor.execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\backends\util.py" in execute
34. return self.cursor.execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\backends\mysql\base.py" in execute
86. return self.cursor.execute(query, args)
File "C:\Python27\lib\site-packages\MySQLdb\cursors.py" in execute
174. self.errorhandler(self, exc, value)
File "C:\Python27\lib\site-packages\MySQLdb\connections.py" in defaulterrorhandler
36. raise errorclass, errorvalue
Exception Type: OperationalError at /profile/
Exception Value: (1054, "Unknown column 'profile_userprofiles.birthday' in 'field list'")
수동으로 생성하는 경우 예방 조치가 있습니까? 아니면 그냥 가서 테이블을 수동으로 mysql을 사용하여 워크 벤치 및 그게 전부? – John
@ John 이상적으로 남쪽 앱을 사용합니다. 그러나 단 한 열의 경우 성가 시게됩니다. 특정'app'에 [sqlall] (https://docs.djangoproject.com/en/dev/ref/django-admin/#sqlall-appname-appname)을 실행하면 Django 자체에서 사용했던 DDL 구문을 정확히 알 수 있습니다 그것을 만들어라. –