fusionbox/django-widgy — pull request #244 by acatton (2014-08-22 11:30:37+00:00)
Title: Make the demo project work out of the box

Before this changes:
```
pip install -r demo/requirements.txt &&
python setup.py develop &&
python manage.py syncdb &&
python manage.py runserver
```

Would just fail. This makes it work out of the box, from scratch.

I was reluctant at first to submit this pull request, because @gavinwahl has been aggressively fighting using [django-debug-toolbar's explicit setup](http://django-debug-toolbar.readthedocs.org/en/1.2/installation.html#explicit-setup). But django-debug-toolbar's implicit setup makes syncdb fail from scratch.

Because:

* syncdb loads all the models.
* django-debug-toolbar models patches urls.py, therefore has to load it
* urls.py calls admin.autodiscover(), which loads widgy.contrib.widgy_mezzanine.admin
* widgy.contrib.widgy_mezzanine.admin has a ModelForm with `model = WidgyPage`.
* ModelForm's metaclass calls formfield() on every fields of the model. (In this case WidgyPage)
* And the problem starts [here](https://github.com/fusionbox/django-widgy/blob/fb646287df6a85d4baf2370fdc04e7682c30f201/widgy/db/fields.py#L92).