After adding a few more databases and views to my app, I suddenly get the 
error mentioned in the subject.

Not sure what happened .. everything worked as a charm before.

This only happens when the program tries to create a new record, I can 
change existing ones

It seems as if the "created_by" column is not accessible, after this line 
   document = form.save(commit=False)
the debugger already shows the errro in the watch expression...

I marked the line where it fails in red below.

views.py

@login_required
> def doc_details(request, doc_id=None):
>
>     if doc_id is not None:
>         document = main_documents.objects.get(pk = doc_id)
>     else:
>         document = None
>
>     if request.method == 'POST': # If the form has been submitted...
>         form = DocumentForm(request.POST, instance=document) # A form 
> bound to the POST data
>         if form.is_valid():  # All validation rules pass
>             document = form.save(commit=False)
>             if document.created_by is None:
>                 document.created_by = request.user
>             document.save()
>             return redirect(reverse('main_page.views.doc_index')) # 
> Redirect after POST
>     else:
>         form = DocumentForm(instance=document) # An unbound form
>
>     form.error_css_class = 'text-error'
>     form.required_css_class = 'text-info'
>
>     context = {'form': form,'navi': spc_globals.getnavigation(req=request)}
>
>     if doc_id is None:
>         context.update({
>         'action': 'Add new document',
>         'header': 'New document'
>         })
>
>     else:
>         context.update({
>         'action': 'Save document',
>         'header': 'Edit document'
>         })
>
>     return render(request, 'main_page/edit_form.html', context)
>


models.py:

from django.db import models
> from django.forms import ModelForm, DateField, DateInput
> from django.conf import settings
>
> # Main application settings.
> class main_settings(models.Model):
>     eventname = models.CharField('Eventname', max_length=200, blank=False)
>     start_date = models.DateField('Begin date', help_text="Please use the 
> following format: <em>YYYY-MM-DD</em>.")
>     end_date = models.DateField('End date', help_text="Please use the 
> following format: <em>YYYY-MM-DD</em>.")
>
> # Input form for main application settings.
> class mainSettingsForm(ModelForm):
>     start_date = DateField(widget=DateInput(format='%d.%m.%Y'), 
> input_formats=('%d.%m.%Y',), label='Begin date')
>     end_date = DateField(widget=DateInput(format='%d.%m.%Y'), 
> input_formats=('%d.%m.%Y',), label='End date')
>     class Meta:
>         model = main_settings
>         exclude = ('date_created',)
>
> # Document class
> class main_documents(models.Model):
>     doc_name = models.CharField("Document name", max_length=60)
>     doc_link = models.URLField("Document URL/link")
>     doc_description = models.TextField("Document description", blank=True, 
> null=True)
>     date_created = models.DateTimeField('Created on', auto_now_add=True, 
> blank=True, null=True)
>     created_by = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, 
> blank=True, default='')
>
>     class Meta:
>         permissions = (
>             ("view_documents", "Can see documents"),
>             )
>
>
> class DocumentForm(ModelForm):
>     class Meta:
>         model = main_documents
>         exclude = ('date_created','created_by',)
>
>
> class subevents(models.Model):
>     active = models.BooleanField('Active', default=True)
>     name = models.CharField("Subevent name", max_length=60, 
> help_text='Specify the name')
>     refcode_prefix = models.CharField("Reference code prefix", 
> max_length=8, help_text='Please enter a prefix to be used as a reference 
> code')
>     refcode_counter = models.PositiveIntegerField(editable=False, 
> default=1)
>     description = models.TextField("Description", blank=True, null=True, 
> default='', help_text='Enter a short description')
>     start_date = models.DateField('Begin date', help_text="Please use the 
> following format: <em>YYYY-MM-DD</em>.")
>     end_date = models.DateField('End date', help_text="Please use the 
> following format: <em>YYYY-MM-DD</em>.")
>     date_created = models.DateTimeField('Created on', auto_now_add=True, 
> blank=True, null=True)
>     created_by = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, 
> blank=True, default='')
>
>
> class SubeventForm(ModelForm):
>     class Meta:
>         model = subevents
>         exclude = ('date_created', 'created_by',)
>
>
> class locations(models.Model):
>     active = models.BooleanField('Active', default=True)
>     name = models.CharField("Location name", max_length=60)
>     address = models.TextField("Postal address", blank=True, default='')
>     notes = models.TextField("Notes", blank=True, null=True, default='')
>     date_created = models.DateTimeField('Created on', auto_now_add=True, 
> blank=True, null=True)
>     created_by = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, 
> blank=True, default='')
>
>
> class LocationsForm(ModelForm):
>     class Meta:
>         model = locations
>         exclude = ('date_created', 'created_by',)
>
>
> class levels(models.Model):
>     active = models.BooleanField('Active', default=True )
>     name = models.CharField("Level name", max_length=60)
>     notes = models.TextField("Notes", blank=True, null=True, default='')
>     location = models.ForeignKey(locations, blank=True, default='')
>     date_created = models.DateTimeField('Created on', auto_now_add=True, 
> blank=True, null=True)
>     created_by = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, 
> blank=True, default='')
>
>
> class LevelsForm(ModelForm):
>     class Meta:
>         model = levels
>         exclude = ('date_created', 'created_by',)
>
>
>
traceback:

Environment:
>
>
> Request Method: POST
> Request URL: http://127.0.0.1:8000/documents
>
> Django Version: 1.5.1
> Python Version: 2.7.5
> Installed Applications:
> ('django.contrib.auth',
>  'django.contrib.contenttypes',
>  'django.contrib.sessions',
>  'django.contrib.sites',
>  'django.contrib.messages',
>  'django.contrib.staticfiles',
>  'main_page',
>  'accounts',
>  'south',
>  'django.contrib.admin')
> Installed Middleware:
> ('django.middleware.common.CommonMiddleware',
>  'django.contrib.sessions.middleware.SessionMiddleware',
>  'django.middleware.csrf.CsrfViewMiddleware',
>  'django.contrib.auth.middleware.AuthenticationMiddleware',
>  'django.contrib.messages.middleware.MessageMiddleware')
>
>
> Traceback:
> File 
> "D:\Python27\.virtualenvs\djellis\lib\site-packages\django\core\handlers\base.py"
>  
> in get_response
>   115.                         response = callback(request, 
> *callback_args, **callback_kwargs)
> File 
> "D:\Python27\.virtualenvs\djellis\lib\site-packages\django\contrib\auth\decorators.py"
>  
> in _wrapped_view
>   25.                 return view_func(request, *args, **kwargs)
> File "D:\Dev\spcmanage\main_page\views.py" in doc_details
>   109.             if document.created_by is None:
> File 
> "D:\Python27\.virtualenvs\djellis\lib\site-packages\django\db\models\fields\related.py"
>  
> in __get__
>   384.                 rel_obj = qs.get(**params)
> File 
> "D:\Python27\.virtualenvs\djellis\lib\site-packages\django\db\models\query.py"
>  
> in get
>   379.         clone = self.filter(*args, **kwargs)
> File 
> "D:\Python27\.virtualenvs\djellis\lib\site-packages\django\db\models\query.py"
>  
> in filter
>   655.         return self._filter_or_exclude(False, *args, **kwargs)
> File 
> "D:\Python27\.virtualenvs\djellis\lib\site-packages\django\db\models\query.py"
>  
> in _filter_or_exclude
>   673.             clone.query.add_q(Q(*args, **kwargs))
> File 
> "D:\Python27\.virtualenvs\djellis\lib\site-packages\django\db\models\sql\query.py"
>  
> in add_q
>   1266.                             can_reuse=used_aliases, 
> force_having=force_having)
> File 
> "D:\Python27\.virtualenvs\djellis\lib\site-packages\django\db\models\sql\query.py"
>  
> in add_filter
>   1197.                 connector)
> File 
> "D:\Python27\.virtualenvs\djellis\lib\site-packages\django\db\models\sql\where.py"
>  
> in add
>   71.             value = obj.prepare(lookup_type, value)
> File 
> "D:\Python27\.virtualenvs\djellis\lib\site-packages\django\db\models\sql\where.py"
>  
> in prepare
>   339.             return self.field.get_prep_lookup(lookup_type, value)
> File 
> "D:\Python27\.virtualenvs\djellis\lib\site-packages\django\db\models\fields\__init__.py"
>  
> in get_prep_lookup
>   322.             return self.get_prep_value(value)
> File 
> "D:\Python27\.virtualenvs\djellis\lib\site-packages\django\db\models\fields\__init__.py"
>  
> in get_prep_value
>   555.         return int(value)
>
> Exception Type: ValueError at /documents
> Exception Value: invalid literal for int() with base 10: ''
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to