사용자가 작업과 관련된 OneToOneField를 사용하여 양식을 제출하고 있습니다. 하지만 OperationalError가 나타납니다. 이것은 로그인 후 양식을 제공하기 위해 사용하는 하나의 앱입니다. 로그인 프로세스는 다른 앱을 사용하여 성공적으로 완료됩니다.OneToOneField - OperationalError
Models.py :
from django.db import models
from django.forms import ModelForm
from sorl.thumbnail import ImageField
from django.contrib.auth.models import User
class BasicModel(models.Model):
user = models.OneToOneField(User, unique=True, related_name='profile')
name = models.CharField(max_length=200)
dob = models.DateField()
photo = ImageField(upload_to='sample')
class BasicModelForm(ModelForm):
class Meta:
model = BasicModel
exclude = ('user',)
Views.py :
@login_required
def BasicView(request):
if request.method == 'POST':
form = BasicModelForm(request.POST, request.FILES, instance=request.user.profile)
if form.is_valid():
data = form.save()
im = get_thumbnail(data.photo, '100x100', crop='center', quality=99)
return preview(request, data.id, im)
else:
form = BasicModelForm()
return render_to_response("unnamed.html", {'form': form}, context_instance=RequestContext(request))
def preview(request, id, im):
obj = get_object_or_404(BasicModel, pk=id)
return render_to_response("preview.html", {'obj': obj, 'im': im})
오류 :
Exception Type: OperationalError
Exception Value: (1054, "Unknown column 'unnamed_basicmodel.user_id' in 'field list'")
Exception Location: /usr/lib/pymodules/python2.7/MySQLdb/connections.py in defaulterrorhandler, line 36
Traceback: form = BasicModelForm(request.POST, request.FILES, instance=request.user.profile)
* 오류 메시지가 잘못 되었습니까? –
'exclude'에 후행 쉼표가 없습니다 -'exclude = ('user',)' – Alasdair
@Alasdair : 변경되었지만 여전히 같은 오류입니다 – rnk