Skip to content

Instantly share code, notes, and snippets.

@matejaputic
Last active August 29, 2015 14:13
Show Gist options
  • Save matejaputic/0e25cd74830033442886 to your computer and use it in GitHub Desktop.
Save matejaputic/0e25cd74830033442886 to your computer and use it in GitHub Desktop.
object has no attribute 'new_objects' error when saving related objects
from django.contrib import admin
from django.conf.urls import patterns, url
from django.shortcuts import render_to_response, render
from django.template import RequestContext
from django.core.exceptions import ValidationError
from django.db import transaction, IntegrityError
from .forms import UploadFileForm
from .models import Dataset, Datapoint
from csv import DictReader
from datetime import datetime
import ipdb
class DatapointInline(admin.TabularInline):
model = Datapoint
readonly_fields = ('timestamp', 'air_temperature', 'relative_humidity',)
class DatasetAdmin(admin.ModelAdmin):
form = UploadFileForm
fieldsets = [
(None, {'fields': ['name', 'datapoints_file']}),
]
inlines = [DatapointInline]
list_per_page = 10
def save_formset(self, request, form, formset, change):
ipdb.set_trace()
pass
def save_related(self, request, obj, form, change):
pass
def save_model(self, request, obj, form, change):
obj.save()
ipdb.set_trace()
if 'datapoints_file' in request.FILES:
datapoints_file = request.FILES['datapoints_file']
try:
with transaction.atomic():
for row in DictReader(datapoints_file, delimiter=','):
row['timestamp'] = datetime.strptime(row['timestamp'],'%m/%d/%Y %H:%M').strftime('%Y-%m-%d %H:%M')
row['dataset'] = obj
# timestamp_string = row['timestamp']
# timestamp_string_obj = datetime.strptime(timestamp_string,'%m/%d/%Y %H:%M')
# timestamp_string_obj = eastern.localize(timestamp_string_obj)
# data.insert(0,int(mktime(timestamp_string_obj.utctimetuple())))
datapoint = Datapoint(**row)
datapoint.full_clean()
datapoint.save()
except ValidationError as e:
raise e
except IntegrityError as e:
raise e
admin.site.register(Dataset, DatasetAdmin)
AttributeError at /admin/paxriver/dataset/3/
'DatapointFormFormSet' object has no attribute 'new_objects'
Request Method: POST
Request URL: http://localhost:8000/admin/paxriver/dataset/3/
Django Version: 1.7.1
Exception Type: AttributeError
Exception Value:
'DatapointFormFormSet' object has no attribute 'new_objects'
Exception Location: /usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py in construct_change_message, line 994
Python Executable: /usr/bin/python
Python Version: 2.7.3
Python Path:
['/vagrant/mysite',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode',
'/usr/local/lib/python2.7/dist-packages/IPython/extensions']
Server time: Tue, 13 Jan 2015 13:46:47 +0000
Traceback Switch to copy-and-paste view
/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py in wrapper
return self.admin_site.admin_view(view)(*args, **kwargs) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py in _wrapped_view
response = view_func(request, *args, **kwargs) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/views/decorators/cache.py in _wrapped_view_func
response = view_func(request, *args, **kwargs) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/contrib/admin/sites.py in inner
return view(request, *args, **kwargs) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py in change_view
return self.changeform_view(request, object_id, form_url, extra_context) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py in _wrapper
return bound_func(*args, **kwargs) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py in _wrapped_view
response = view_func(request, *args, **kwargs) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py in bound_func
return func.__get__(self, type(self))(*args2, **kwargs2) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/db/transaction.py in inner
return func(*args, **kwargs) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py in changeform_view
change_message = self.construct_change_message(request, form, formsets) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/contrib/admin/options.py in construct_change_message
for added_object in formset.new_objects: ...
▶ Local vars
Request information
GET
No GET data
POST
Variable Value
datapoint_set-89-id
u'7558'
datapoint_set-TOTAL_FORMS
u'102'
datapoint_set-3-dataset
u'3'
datapoint_set-24-id
u'7493'
datapoint_set-65-dataset
u'3'
datapoint_set-85-id
u'7554'
datapoint_set-INITIAL_FORMS
u'99'
datapoint_set-46-dataset
u'3'
datapoint_set-81-dataset
u'3'
datapoint_set-77-id
u'7546'
datapoint_set-23-dataset
u'3'
datapoint_set-90-dataset
u'3'
datapoint_set-60-id
u'7529'
datapoint_set-59-dataset
u'3'
datapoint_set-23-id
u'7492'
datapoint_set-58-id
u'7527'
datapoint_set-57-dataset
u'3'
datapoint_set-67-dataset
u'3'
datapoint_set-87-id
u'7556'
datapoint_set-6-dataset
u'3'
datapoint_set-79-dataset
u'3'
datapoint_set-84-id
u'7553'
datapoint_set-49-dataset
u'3'
datapoint_set-84-dataset
u'3'
datapoint_set-13-id
u'7482'
datapoint_set-45-dataset
u'3'
datapoint_set-57-id
u'7526'
datapoint_set-93-dataset
u'3'
datapoint_set-22-id
u'7491'
datapoint_set-35-dataset
u'3'
datapoint_set-98-dataset
u'3'
datapoint_set-13-dataset
u'3'
datapoint_set-96-dataset
u'3'
datapoint_set-92-id
u'7561'
datapoint_set-28-dataset
u'3'
datapoint_set-29-id
u'7498'
datapoint_set-88-id
u'7557'
datapoint_set-68-id
u'7537'
datapoint_set-72-dataset
u'3'
datapoint_set-64-dataset
u'3'
datapoint_set-19-id
u'7488'
datapoint_set-76-dataset
u'3'
datapoint_set-90-id
u'7559'
name
u'MyDataset'
datapoint_set-70-id
u'7539'
datapoint_set-101-dataset
u'3'
datapoint_set-2-dataset
u'3'
datapoint_set-82-dataset
u'3'
datapoint_set-93-id
u'7562'
datapoint_set-61-dataset
u'3'
datapoint_set-68-dataset
u'3'
datapoint_set-__prefix__-dataset
u'3'
datapoint_set-22-dataset
u'3'
datapoint_set-54-id
u'7523'
datapoint_set-37-dataset
u'3'
datapoint_set-101-id
u''
datapoint_set-50-id
u'7519'
datapoint_set-31-dataset
u'3'
datapoint_set-37-id
u'7506'
datapoint_set-60-dataset
u'3'
datapoint_set-7-dataset
u'3'
datapoint_set-52-id
u'7521'
datapoint_set-7-id
u'7476'
datapoint_set-27-id
u'7496'
datapoint_set-44-dataset
u'3'
datapoint_set-69-id
u'7538'
datapoint_set-73-dataset
u'3'
datapoint_set-69-dataset
u'3'
datapoint_set-48-id
u'7517'
datapoint_set-31-id
u'7500'
datapoint_set-63-id
u'7532'
datapoint_set-82-id
u'7551'
datapoint_set-6-id
u'7475'
datapoint_set-75-id
u'7544'
datapoint_set-63-dataset
u'3'
datapoint_set-99-id
u''
datapoint_set-86-dataset
u'3'
datapoint_set-18-dataset
u'3'
datapoint_set-11-dataset
u'3'
datapoint_set-__prefix__-id
u''
datapoint_set-MAX_NUM_FORMS
u'1000'
datapoint_set-33-dataset
u'3'
datapoint_set-26-dataset
u'3'
datapoint_set-20-dataset
u'3'
datapoint_set-0-id
u'7469'
datapoint_set-78-dataset
u'3'
datapoint_set-96-id
u'7565'
datapoint_set-55-dataset
u'3'
datapoint_set-14-dataset
u'3'
datapoint_set-44-id
u'7513'
datapoint_set-66-dataset
u'3'
datapoint_set-10-id
u'7479'
datapoint_set-MIN_NUM_FORMS
u'0'
datapoint_set-64-id
u'7533'
datapoint_set-10-dataset
u'3'
datapoint_set-30-dataset
u'3'
datapoint_set-80-dataset
u'3'
datapoint_set-94-id
u'7563'
datapoint_set-26-id
u'7495'
datapoint_set-56-id
u'7525'
datapoint_set-97-id
u'7566'
datapoint_set-16-dataset
u'3'
datapoint_set-97-dataset
u'3'
datapoint_set-56-dataset
u'3'
datapoint_set-25-id
u'7494'
datapoint_set-15-id
u'7484'
datapoint_set-62-id
u'7531'
datapoint_set-74-dataset
u'3'
datapoint_set-95-id
u'7564'
datapoint_set-42-dataset
u'3'
datapoint_set-8-id
u'7477'
datapoint_set-24-dataset
u'3'
datapoint_set-9-dataset
u'3'
datapoint_set-94-dataset
u'3'
datapoint_set-48-dataset
u'3'
datapoint_set-79-id
u'7548'
datapoint_set-38-id
u'7507'
datapoint_set-71-dataset
u'3'
datapoint_set-53-id
u'7522'
datapoint_set-29-dataset
u'3'
datapoint_set-89-dataset
u'3'
datapoint_set-62-dataset
u'3'
datapoint_set-4-id
u'7473'
datapoint_set-15-dataset
u'3'
datapoint_set-51-id
u'7520'
datapoint_set-14-id
u'7483'
datapoint_set-27-dataset
u'3'
datapoint_set-0-dataset
u'3'
datapoint_set-49-id
u'7518'
datapoint_set-45-id
u'7514'
datapoint_set-67-id
u'7536'
datapoint_set-91-dataset
u'3'
datapoint_set-70-dataset
u'3'
datapoint_set-100-id
u''
datapoint_set-21-id
u'7490'
datapoint_set-91-id
u'7560'
datapoint_set-21-dataset
u'3'
datapoint_set-61-id
u'7530'
_save
u'Save'
datapoint_set-65-id
u'7534'
datapoint_set-50-dataset
u'3'
datapoint_set-12-id
u'7481'
datapoint_set-40-dataset
u'3'
datapoint_set-88-dataset
u'3'
datapoint_set-77-dataset
u'3'
datapoint_set-83-dataset
u'3'
datapoint_set-30-id
u'7499'
datapoint_set-55-id
u'7524'
datapoint_set-76-id
u'7545'
datapoint_set-42-id
u'7511'
datapoint_set-39-id
u'7508'
datapoint_set-74-id
u'7543'
datapoint_set-17-id
u'7486'
datapoint_set-52-dataset
u'3'
datapoint_set-32-dataset
u'3'
datapoint_set-87-dataset
u'3'
datapoint_set-39-dataset
u'3'
datapoint_set-95-dataset
u'3'
datapoint_set-73-id
u'7542'
datapoint_set-5-dataset
u'3'
datapoint_set-12-dataset
u'3'
datapoint_set-1-id
u'7470'
datapoint_set-2-id
u'7471'
datapoint_set-18-id
u'7487'
datapoint_set-85-dataset
u'3'
datapoint_set-81-id
u'7550'
datapoint_set-100-dataset
u'3'
datapoint_set-43-dataset
u'3'
datapoint_set-1-dataset
u'3'
datapoint_set-99-dataset
u'3'
datapoint_set-11-id
u'7480'
datapoint_set-51-dataset
u'3'
datapoint_set-17-dataset
u'3'
datapoint_set-71-id
u'7540'
datapoint_set-8-dataset
u'3'
datapoint_set-72-id
u'7541'
datapoint_set-46-id
u'7515'
datapoint_set-83-id
u'7552'
datapoint_set-41-dataset
u'3'
datapoint_set-28-id
u'7497'
datapoint_set-25-dataset
u'3'
datapoint_set-41-id
u'7510'
datapoint_set-9-id
u'7478'
datapoint_set-32-id
u'7501'
datapoint_set-54-dataset
u'3'
csrfmiddlewaretoken
u'5UVCGNrhyAgeKLGaC86ZOk4vMslOI7QI'
datapoint_set-98-id
u'7567'
datapoint_set-86-id
u'7555'
datapoint_set-75-dataset
u'3'
datapoint_set-47-id
u'7516'
datapoint_set-43-id
u'7512'
datapoint_set-33-id
u'7502'
datapoint_set-40-id
u'7509'
datapoint_set-20-id
u'7489'
datapoint_set-4-dataset
u'3'
datapoint_set-19-dataset
u'3'
datapoint_set-92-dataset
u'3'
datapoint_set-58-dataset
u'3'
datapoint_set-3-id
u'7472'
datapoint_set-34-dataset
u'3'
datapoint_set-80-id
u'7549'
datapoint_set-34-id
u'7503'
datapoint_set-53-dataset
u'3'
datapoint_set-47-dataset
u'3'
datapoint_set-16-id
u'7485'
datapoint_set-38-dataset
u'3'
datapoint_set-78-id
u'7547'
datapoint_set-66-id
u'7535'
datapoint_set-59-id
u'7528'
datapoint_set-36-id
u'7505'
datapoint_set-36-dataset
u'3'
datapoint_set-35-id
u'7504'
datapoint_set-5-id
u'7474'
FILES
Variable Value
datapoints_file
<InMemoryUploadedFile: LS2A_DATA_2.csv (application/vnd.ms-excel)>
COOKIES
Variable Value
csrftoken
'5UVCGNrhyAgeKLGaC86ZOk4vMslOI7QI'
djdttop
'103'
djdt
'hide'
sessionid
'espym30xuoiad4glgw32gft6sbrpxw5h'
META
Variable Value
wsgi.version
(1, 0)
RUN_MAIN
'true'
HTTP_REFERER
'http://localhost:8000/admin/paxriver/dataset/3/'
SERVER_PROTOCOL
'HTTP/1.1'
SERVER_SOFTWARE
'WSGIServer/0.1 Python/2.7.3'
SCRIPT_NAME
u''
LESSOPEN
'| /usr/bin/lesspipe %s'
SSH_CLIENT
'10.0.2.2 52415 22'
REQUEST_METHOD
'POST'
LOGNAME
'vagrant'
USER
'vagrant'
HTTP_ORIGIN
'http://localhost:8000'
PATH
'/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/vagrant_ruby/bin'
QUERY_STRING
''
HOME
'/home/vagrant'
DISPLAY
'localhost:10.0'
CONTENT_LENGTH
'27871'
TERM
'xterm'
SHELL
'/bin/bash'
TZ
'UTC'
XDG_SESSION_COOKIE
'71775adbda196b18e5105bec0000030c-1421153841.730230-2110935352'
SERVER_NAME
'precise64'
REMOTE_ADDR
'10.0.2.2'
SHLVL
'1'
wsgi.url_scheme
'http'
SERVER_PORT
'8000'
HTTP_CONNECTION
'keep-alive'
wsgi.file_wrapper
''
CSRF_COOKIE
u'5UVCGNrhyAgeKLGaC86ZOk4vMslOI7QI'
wsgi.input
<socket._fileobject object at 0x2cd6050>
HTTP_USER_AGENT
'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
HTTP_HOST
'localhost:8000'
wsgi.multithread
True
LC_ALL
'en_US'
HTTP_CACHE_CONTROL
'max-age=0'
_
'/usr/bin/python'
HTTP_ACCEPT
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
SSH_CONNECTION
'10.0.2.2 52415 10.0.2.15 22'
LESSCLOSE
'/usr/bin/lesspipe %s %s'
GATEWAY_INTERFACE
'CGI/1.1'
wsgi.run_once
False
SSH_TTY
'/dev/pts/1'
OLDPWD
'/home/vagrant'
wsgi.multiprocess
False
HTTP_ACCEPT_LANGUAGE
'en-US,en;q=0.8'
wsgi.errors
<open file '<stderr>', mode 'w' at 0x7f414ae85270>
PWD
'/vagrant/mysite'
DJANGO_SETTINGS_MODULE
'mysite.settings'
CONTENT_TYPE
'multipart/form-data; boundary=----WebKitFormBoundaryj1gfbbkxtPx0Y3Yj'
MAIL
'/var/mail/vagrant'
LS_COLORS
'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:'
REMOTE_HOST
''
HTTP_ACCEPT_ENCODING
'gzip, deflate'
HTTP_COOKIE
'djdt=hide; sessionid=espym30xuoiad4glgw32gft6sbrpxw5h; csrftoken=5UVCGNrhyAgeKLGaC86ZOk4vMslOI7QI; djdttop=103'
PATH_INFO
u'/admin/paxriver/dataset/3/'
Settings
Using settings module mysite.settings
Setting Value
USE_L10N
True
USE_THOUSAND_SEPARATOR
False
CSRF_COOKIE_SECURE
False
LANGUAGE_CODE
'en-us'
ROOT_URLCONF
'mysite.urls'
MANAGERS
()
BASE_DIR
'/vagrant/mysite'
TEST_NON_SERIALIZED_APPS
[]
DEFAULT_CHARSET
'utf-8'
SESSION_SERIALIZER
'django.contrib.sessions.serializers.JSONSerializer'
STATIC_ROOT
None
ALLOWED_HOSTS
[]
MESSAGE_STORAGE
'django.contrib.messages.storage.fallback.FallbackStorage'
EMAIL_SUBJECT_PREFIX
'[Django] '
SEND_BROKEN_LINK_EMAILS
False
STATICFILES_FINDERS
('django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder')
SESSION_CACHE_ALIAS
'default'
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_NAME
'sessionid'
ADMIN_FOR
()
TIME_INPUT_FORMATS
('%H:%M:%S', '%H:%M:%S.%f', '%H:%M')
DATABASES
{'default': {'ATOMIC_REQUESTS': False,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.sqlite3',
'HOST': '',
'NAME': '/vagrant/mysite/db.sqlite3',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': 'UTC',
'USER': ''}}
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
('django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler')
DEFAULT_CONTENT_TYPE
'text/html'
APPEND_SLASH
True
LOCALE_PATHS
()
DATABASE_ROUTERS
[]
DEFAULT_TABLESPACE
''
YEAR_MONTH_FORMAT
'F Y'
STATICFILES_STORAGE
'django.contrib.staticfiles.storage.StaticFilesStorage'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
SERVER_EMAIL
'root@localhost'
SESSION_COOKIE_PATH
'/'
SILENCED_SYSTEM_CHECKS
[]
MIDDLEWARE_CLASSES
(u'debug_toolbar.middleware.DebugToolbarMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
USE_I18N
True
THOUSAND_SEPARATOR
','
SECRET_KEY
u'********************'
LANGUAGE_COOKIE_NAME
'django_language'
DEFAULT_INDEX_TABLESPACE
''
TRANSACTIONS_MANAGED
False
LOGGING_CONFIG
'logging.config.dictConfig'
TEMPLATE_LOADERS
('django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader')
FIRST_DAY_OF_WEEK
0
WSGI_APPLICATION
'mysite.wsgi.application'
TEMPLATE_DEBUG
True
X_FRAME_OPTIONS
'SAMEORIGIN'
CSRF_COOKIE_NAME
'csrftoken'
FORCE_SCRIPT_NAME
None
USE_X_FORWARDED_HOST
False
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SESSION_COOKIE_SECURE
False
CSRF_COOKIE_DOMAIN
None
FILE_CHARSET
'utf-8'
DEBUG
True
LANGUAGE_COOKIE_DOMAIN
None
DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
INSTALLED_APPS
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'fileupload',
'polls',
'paxriver',
'debug_toolbar')
LANGUAGES
(('af', 'Afrikaans'),
('ar', 'Arabic'),
('ast', 'Asturian'),
('az', 'Azerbaijani'),
('bg', 'Bulgarian'),
('be', 'Belarusian'),
('bn', 'Bengali'),
('br', 'Breton'),
('bs', 'Bosnian'),
('ca', 'Catalan'),
('cs', 'Czech'),
('cy', 'Welsh'),
('da', 'Danish'),
('de', 'German'),
('el', 'Greek'),
('en', 'English'),
('en-au', 'Australian English'),
('en-gb', 'British English'),
('eo', 'Esperanto'),
('es', 'Spanish'),
('es-ar', 'Argentinian Spanish'),
('es-mx', 'Mexican Spanish'),
('es-ni', 'Nicaraguan Spanish'),
('es-ve', 'Venezuelan Spanish'),
('et', 'Estonian'),
('eu', 'Basque'),
('fa', 'Persian'),
('fi', 'Finnish'),
('fr', 'French'),
('fy', 'Frisian'),
('ga', 'Irish'),
('gl', 'Galician'),
('he', 'Hebrew'),
('hi', 'Hindi'),
('hr', 'Croatian'),
('hu', 'Hungarian'),
('ia', 'Interlingua'),
('id', 'Indonesian'),
('io', 'Ido'),
('is', 'Icelandic'),
('it', 'Italian'),
('ja', 'Japanese'),
('ka', 'Georgian'),
('kk', 'Kazakh'),
('km', 'Khmer'),
('kn', 'Kannada'),
('ko', 'Korean'),
('lb', 'Luxembourgish'),
('lt', 'Lithuanian'),
('lv', 'Latvian'),
('mk', 'Macedonian'),
('ml', 'Malayalam'),
('mn', 'Mongolian'),
('mr', 'Marathi'),
('my', 'Burmese'),
('nb', 'Norwegian Bokmal'),
('ne', 'Nepali'),
('nl', 'Dutch'),
('nn', 'Norwegian Nynorsk'),
('os', 'Ossetic'),
('pa', 'Punjabi'),
('pl', 'Polish'),
('pt', 'Portuguese'),
('pt-br', 'Brazilian Portuguese'),
('ro', 'Romanian'),
('ru', 'Russian'),
('sk', 'Slovak'),
('sl', 'Slovenian'),
('sq', 'Albanian'),
('sr', 'Serbian'),
('sr-latn', 'Serbian Latin'),
('sv', 'Swedish'),
('sw', 'Swahili'),
('ta', 'Tamil'),
('te', 'Telugu'),
('th', 'Thai'),
('tr', 'Turkish'),
('tt', 'Tatar'),
('udm', 'Udmurt'),
('uk', 'Ukrainian'),
('ur', 'Urdu'),
('vi', 'Vietnamese'),
('zh-cn', 'Simplified Chinese'),
('zh-hans', 'Simplified Chinese'),
('zh-hant', 'Traditional Chinese'),
('zh-tw', 'Traditional Chinese'))
COMMENTS_ALLOW_PROFANITIES
False
STATICFILES_DIRS
()
PREPEND_WWW
False
SECURE_PROXY_SSL_HEADER
None
LANGUAGE_COOKIE_AGE
None
SESSION_COOKIE_HTTPONLY
True
DEBUG_PROPAGATE_EXCEPTIONS
False
INTERNAL_IPS
'10.0.2.2'
MONTH_DAY_FORMAT
'F j'
LOGIN_URL
'/accounts/login/'
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
TIME_FORMAT
'P'
AUTH_USER_MODEL
'auth.User'
DATE_INPUT_FORMATS
('%Y-%m-%d',
'%m/%d/%Y',
'%m/%d/%y',
'%b %d %Y',
'%b %d, %Y',
'%d %b %Y',
'%d %b, %Y',
'%B %d %Y',
'%B %d, %Y',
'%d %B %Y',
'%d %B, %Y')
AUTHENTICATION_BACKENDS
('django.contrib.auth.backends.ModelBackend',)
EMAIL_HOST_PASSWORD
u'********************'
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
SESSION_FILE_PATH
None
CACHE_MIDDLEWARE_ALIAS
'default'
SESSION_SAVE_EVERY_REQUEST
False
NUMBER_GROUPING
0
SESSION_ENGINE
'django.contrib.sessions.backends.db'
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
CSRF_COOKIE_PATH
'/'
LOGIN_REDIRECT_URL
'/accounts/profile/'
DECIMAL_SEPARATOR
'.'
IGNORABLE_404_URLS
()
MIGRATION_MODULES
{}
TEMPLATE_STRING_IF_INVALID
''
LOGOUT_URL
'/accounts/logout/'
EMAIL_USE_TLS
False
FIXTURE_DIRS
()
EMAIL_HOST
'localhost'
DATE_FORMAT
'N j, Y'
MEDIA_ROOT
''
DEFAULT_EXCEPTION_REPORTER_FILTER
'django.views.debug.SafeExceptionReporterFilter'
ADMINS
()
FORMAT_MODULE_PATH
None
DEFAULT_FROM_EMAIL
'webmaster@localhost'
MEDIA_URL
''
DATETIME_FORMAT
'N j, Y, P'
TEMPLATE_DIRS
['/vagrant/mysite/templates']
DISALLOWED_USER_AGENTS
()
ALLOWED_INCLUDE_ROOTS
()
LOGGING
{}
SHORT_DATE_FORMAT
'm/d/Y'
TEST_RUNNER
'django.test.runner.DiscoverRunner'
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
TIME_ZONE
'UTC'
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_SSL
False
TEMPLATE_CONTEXT_PROCESSORS
('django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.core.context_processors.tz',
'django.contrib.messages.context_processors.messages')
SESSION_COOKIE_AGE
1209600
SETTINGS_MODULE
'mysite.settings'
USE_ETAGS
False
LANGUAGES_BIDI
('he', 'ar', 'fa', 'ur')
FILE_UPLOAD_TEMP_DIR
None
CSRF_COOKIE_AGE
31449600
STATIC_URL
'/static/'
EMAIL_PORT
25
USE_TZ
True
SHORT_DATETIME_FORMAT
'm/d/Y P'
PASSWORD_HASHERS
u'********************'
ABSOLUTE_URL_OVERRIDES
{}
LANGUAGE_COOKIE_PATH
'/'
CACHE_MIDDLEWARE_SECONDS
600
CSRF_COOKIE_HTTPONLY
False
DATETIME_INPUT_FORMATS
('%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M:%S.%f',
'%Y-%m-%d %H:%M',
'%Y-%m-%d',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M:%S.%f',
'%m/%d/%Y %H:%M',
'%m/%d/%Y',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M:%S.%f',
'%m/%d/%y %H:%M',
'%m/%d/%y')
EMAIL_HOST_USER
''
PROFANITIES_LIST
u'********************'
You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 500 page.
«
from django import forms
from django.core.exceptions import ValidationError
from django.db import transaction, IntegrityError
from datetime import datetime
from paxriver.models import Dataset, Datapoint
class UploadFileForm(forms.ModelForm):
datapoints_file = forms.FileField(required=False)
from django.db import models
class Dataset(models.Model):
name = models.CharField(max_length=200)
def __unicode__(self):
return self.name
class Datapoint(models.Model):
dataset = models.ForeignKey(Dataset)
timestamp = models.DateTimeField()
air_temperature = models.DecimalField(max_digits=20, decimal_places=10)
relative_humidity = models.DecimalField(max_digits=20, decimal_places=10)
class Meta:
ordering = ('timestamp',)
unique_together = ('dataset','timestamp',)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment