Index: django/newforms/extras/widgets.py
===================================================================
--- django/newforms/extras/widgets.py	(revision 7027)
+++ django/newforms/extras/widgets.py	(working copy)
@@ -32,7 +32,8 @@
 
     def render(self, name, value, attrs=None):
         try:
-            value = datetime.date(*map(int, value.split('-')))
+            if isinstance(value, basestring):
+                value = datetime.date(*map(int, value.split('-')))
             year_val, month_val, day_val = value.year, value.month, value.day
         except (AttributeError, TypeError, ValueError):
             year_val = month_val = day_val = None
Index: tests/regressiontests/forms/extra.py
===================================================================
--- tests/regressiontests/forms/extra.py	(revision 6865)
+++ tests/regressiontests/forms/extra.py	(working copy)
@@ -143,6 +143,8 @@
 <option value="2015">2015</option>
 <option value="2016">2016</option>
 </select>
+>>> w.render('mydate', datetime.date(2010, 4, 15)) == w.render('mydate', '2010-04-15')
+True
 
 Using a SelectDateWidget in a form:
 
