'마이크로 블로그'최소 응용 프로그램에서 100 자 양식 사용자를 저장하려고합니다. 내 코드에 이상한 점이없는 것 같지만 작동하지 않습니다. 실수는 views.py에 있습니다. 사용자 테이블에 외래 키를 저장할 수 없습니다.양식 내용을 데이터베이스에 저장할 수 없습니다.
models.py
은 다음과 같습니다 : 여기 수입을 언급하지 않았다
class NewManager(models.Manager):
def create_post(self, post, username):
new = self.model(post=post, created_by=username)
new.save()
return new
class New(models.Model):
post = models.CharField(max_length=120)
date = models.DateTimeField(auto_now_add=True)
created_by = models.ForeignKey(User, blank=True)
objects = NewManager()
class NewForm(ModelForm):
class Meta:
model = New
fields = ['post']
# widgets = {'post': Textarea(attrs={'cols': 80, 'rows': 20})
def save_new(request):
if request.method == 'POST':
created_by = User.objects.get(created_by = user)
date = request.POST.get('date', '')
post = request.POST.get('post', '')
new_obj = New(post=post, date=date, created_by=created_by)
new_obj.save()
return HttpResponseRedirect('/')
else:
form = NewForm()
return render_to_response('news/new_form.html', {'form': form},context_instance=RequestContext(request))
- 그들은 어쨌든, 바로 완료됩니다. 내 실수는 views.py에 있습니다. 내가 저장하려고하면 그것은 말한다 : 나는 매개 변수로 created_py
을 넣으면 할당
전에 참조
지역 변수 'CREATED_BY이 (가) 작성한'는, 저장이 이상의 매개 변수를 필요로한다. 정말 이상합니다.
코드를 4 칸만큼 들여 쓰기 (또는 선택하고 Ctrl + K 누르기). –
나는 이것으로 당혹 스럽다.'created_by = User.objects.get (created_by = user)','User' 모델에'created_by' 컬럼이 있습니까? 이것은 FieldError로 실패 할 것이다. 또한 전체 추적도 도움이 될 것입니다. –