2012-09-11 5 views
0

는 int()에 대한 유효하지 않은 문자 이것은 내가 양식보기 및 단일 웹 페이지로 데이터베이스 액세스보기를 넣었습니다 Two views in one page두보기 -> ValueError를 : 기본 10

의 연속입니다. 현재 양식보기가 작동하지 않고 위의 오류를 제공합니다.

오류를주는 라인이 updated_event = event.signed_up.remove(request.POST.get('for_removal'))

이이이 for_removal 필드

signed_up  = models.ManyToManyField(User, related_name='signed_up', verbose_name='Already signed-up', blank=True, null=True) 

그리고 이것이를 참조하고 내 models.py 내 views.py

def ShowSpecificEvent(request, eventslug): 
event = Event.objects.get(slug=eventslug) 
form = RemovalForm(request.POST or None) 
context = {'event': event, 'form': form,} 
if request.method == 'POST': 
    if form.is_valid(): 
     updated_event = event.signed_up.remove(request.POST.get('for_removal')) 
     updated_event.save() 
     return HttpResponseRedirect('base_user_removed.html') 
    else: 
     return render_to_response('base_specific_event.html', context, context_instance=RequestContext(request)) 
return render_to_response('base_specific_event.html', context, context_instance=RequestContext(request)) 

입니다 입력을 제공하는 내 forms.py

class RemovalForm(forms.Form): 
for_removal = forms.CharField(label='Username of attendee to be removed') 

def clean_removalform(self): 
    for_removal = self.cleaned_data['for_removal']   

미리 감사드립니다. (PS 나는 그것이 this 또는 that

역 추적에 관련이 있다는 느낌했습니다 :

Traceback: 
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py" in get_response 
    111.       response = callback(request, *callback_args, **callback_kwargs) 
File "/Users/Sky/Documents/Projects/sumc/sumc/events/views.py" in ShowSpecificEvent 
    27.   x = event.signed_up.get(signed_up = form.cleaned_data['for_removal']) 
File "/Library/Python/2.7/site-packages/django/db/models/manager.py" in get 
    131.   return self.get_query_set().get(*args, **kwargs) 
File "/Library/Python/2.7/site-packages/django/db/models/query.py" in get 
    358.   clone = self.filter(*args, **kwargs) 
File "/Library/Python/2.7/site-packages/django/db/models/query.py" in filter 
    621.   return self._filter_or_exclude(False, *args, **kwargs) 
File "/Library/Python/2.7/site-packages/django/db/models/query.py" in _filter_or_exclude 
    639.    clone.query.add_q(Q(*args, **kwargs)) 
File "/Library/Python/2.7/site-packages/django/db/models/sql/query.py" in add_q 
    1250.        can_reuse=used_aliases, force_having=force_having) 
File "/Library/Python/2.7/site-packages/django/db/models/sql/query.py" in add_filter 
    1185.     connector) 
File "/Library/Python/2.7/site-packages/django/db/models/sql/where.py" in add 
    69.    value = obj.prepare(lookup_type, value) 
File "/Library/Python/2.7/site-packages/django/db/models/sql/where.py" in prepare 
    320.    return self.field.get_prep_lookup(lookup_type, value) 
File "/Library/Python/2.7/site-packages/django/db/models/fields/related.py" in get_prep_lookup 
    137.    return self._pk_trace(value, 'get_prep_lookup', lookup_type) 
File "/Library/Python/2.7/site-packages/django/db/models/fields/related.py" in _pk_trace 
    210.   v = getattr(field, prep_func)(lookup_type, v, **kwargs) 
File "/Library/Python/2.7/site-packages/django/db/models/fields/__init__.py" in get_prep_lookup 
    310.    return self.get_prep_value(value) 
File "/Library/Python/2.7/site-packages/django/db/models/fields/__init__.py" in get_prep_value 
    537.   return int(value) 

Exception Type: ValueError at /event/cornwall2012/ 
Exception Value: invalid literal for int() with base 10: 'a_technicolor_skye' 
+0

이 노력이 할 수있는 더 좋은 방법을 알고 않습니다 : (request.POST.get를 INT를 ('for_re moval '))이 작동하지 않으면 스택 추적을 공유 할 수 있습니까? – karthikr

+0

도 작동하지 않습니다. 나는 그것을 삭제하려고했지만 동일한 오류가 발생합니다. a_technicolor_skye는 정수가 아니지만 왜 그것이 있어야한다고 생각합니까? –

답변

0

내가 좀 수동으로 데이터베이스에 사용자가 액세스하고 제거에 넣어 방식을 해킹 한을() 메소드 :

def ShowSpecificEvent(request, eventslug): 
event = Event.objects.get(slug=eventslug) 
form = RemovalForm(request.POST or None) 
context = {'event': event, 'form': form,} 
if request.method == 'POST': 
    if form.is_valid(): 
     x = event.signed_up.get(username = form.cleaned_data['for_removal'],) 
     event.signed_up.remove(x) 
     event.save() 
     return render_to_response('base_specific_event.html', context, context_instance=RequestContext(request)) 
    else: 
     return render_to_response('base_specific_event.html', context, context_instance=RequestContext(request)) 
return render_to_response('base_specific_event.html', context, context_instance=RequestContext(request)) 

그러나, 사람이

관련 문제