﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
24418	refresh_from_db is breaking on null foreign keys	Johannes Lerch	nobody	"If i try to call refresh_from_db on a model instance that has a foreignkey set to null, i get an error:

{{{
Traceback:
File ""/home/johannes/formonauts/donation/.env/local/lib/python2.7/site-packages/django/core/handlers/base.py"" in get_response
  112.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File ""/home/johannes/formonauts/donation/.env/local/lib/python2.7/site-packages/django/contrib/admin/options.py"" in wrapper
  465.                 return self.admin_site.admin_view(view)(*args, **kwargs)
File ""/home/johannes/formonauts/donation/.env/local/lib/python2.7/site-packages/django/utils/decorators.py"" in _wrapped_view
  99.                     response = view_func(request, *args, **kwargs)
File ""/home/johannes/formonauts/donation/.env/local/lib/python2.7/site-packages/django/views/decorators/cache.py"" in _wrapped_view_func
  52.         response = view_func(request, *args, **kwargs)
File ""/home/johannes/formonauts/donation/.env/local/lib/python2.7/site-packages/django/contrib/admin/sites.py"" in inner
  198.             return view(request, *args, **kwargs)
File ""/home/johannes/formonauts/donation/.env/local/lib/python2.7/site-packages/django/utils/decorators.py"" in _wrapper
  29.             return bound_func(*args, **kwargs)
File ""/home/johannes/formonauts/donation/.env/local/lib/python2.7/site-packages/django/utils/decorators.py"" in _wrapped_view
  99.                     response = view_func(request, *args, **kwargs)
File ""/home/johannes/formonauts/donation/.env/local/lib/python2.7/site-packages/django/utils/decorators.py"" in bound_func
  25.                 return func(self, *args2, **kwargs2)
File ""/home/johannes/formonauts/donation/.env/local/lib/python2.7/site-packages/django/db/transaction.py"" in inner
  371.                 return func(*args, **kwargs)
File ""/home/johannes/formonauts/donation/.env/local/lib/python2.7/site-packages/django/contrib/admin/options.py"" in add_view
  1164.                 self.save_model(request, new_object, form, False)
File ""/home/johannes/formonauts/donation/server/django-donut/donut/admin.py"" in save_model
  36.                 obj.save()
File ""/home/johannes/formonauts/donation/server/django-donut/nanny/models.py"" in save
  109.                 self.refresh_from_db()
File ""/home/johannes/formonauts/donation/server/django-donut/donut/basemodels.py"" in refresh_from_db
  80.                 related_val = getattr(rel_instance, field.related_field.attname)

Exception Type: AttributeError at /admin/nanny/team/add/
Exception Value: 'NoneType' object has no attribute 'id'
}}}

here rel_instance is assigned: 
https://github.com/django/django/blob/stable/1.8.x/django/db/models/base.py#L630

if it is None (foreignkey not set, as it is nullable in this model) the getattr function will complain that it can not get 'id' from 'NoneType'"	Uncategorized	new	Database layer (models, ORM)	1.8alpha1	Normal				Unreviewed	0	0	0	0	0	0
