Works fine for me using the latest supported versions of Mezzanine/Django. Not sure what your issue is, but you could potentially kill two birds by attempting to update to those.
On Sun, Apr 16, 2017 at 7:50 AM, Richard Jackson <[email protected]> wrote: > Hi everyone, happy Easter! > > I made a simple model with a foreign-keyed orderable - however, when I try > to delete one of the orderable objects I get a "Cannot use None as a query > value" > > *Code snippets from models.py/admin.py <http://models.py/admin.py>:* > > models.py > > class TuitionPage(Page): > class Meta: > verbose_name = _("Tuition page") > verbose_name_plural = _("Tuition pages") > > > class TuitionContent(Orderable): > tuition = models.ForeignKey(TuitionPage, related_name='tuitioncontent') > title = models.CharField(max_length=2000, blank=True) > content = RichTextField(null=True, blank=True) > > def __unicode__(self): > return self.title > > admin.py > > class TuitionInline(StackedDynamicInlineAdmin): > model = TuitionContent > > class TuitionAdmin(PageAdmin): > inlines = (TuitionInline,) > > admin.site.register(TuitionPage, TuitionAdmin) > > *Image of Tuition Content, about to be deleted:* > > > <https://lh3.googleusercontent.com/-jYgTbGhFWxA/WPKVB2Brb5I/AAAAAAAAH3g/pE-jw3wedQoG0bU9pRl1yFv4NkIVHsYVQCLcB/s1600/Screen%2BShot%2B2017-04-15%2Bat%2B22.46.38.png> > > *Traceback from "ValueError at /admin/vital_theme/tuitionpage/318/ - > Cannot use None as a query value":* > > Traceback: > File > "/Users/majora/venv/lib/python2.7/site-packages/django/core/handlers/base.py" > in get_response > 132. response = wrapped_callback(request, > *callback_args, **callback_kwargs) > File "/Users/majora/venv/lib/python2.7/site-packages/ > django/contrib/admin/options.py" in wrapper > 616. return self.admin_site.admin_view(view)(*args, > **kwargs) > File > "/Users/majora/venv/lib/python2.7/site-packages/django/utils/decorators.py" > in _wrapped_view > 110. response = view_func(request, *args, **kwargs) > File "/Users/majora/venv/lib/python2.7/site-packages/ > django/views/decorators/cache.py" in _wrapped_view_func > 57. response = view_func(request, *args, **kwargs) > File > "/Users/majora/venv/lib/python2.7/site-packages/django/contrib/admin/sites.py" > in inner > 233. return view(request, *args, **kwargs) > File "/Users/majora/venv/lib/python2.7/site-packages/ > Mezzanine-4.0.1-py2.7.egg/mezzanine/pages/admin.py" in change_view > 125. return super(PageAdmin, self).change_view(request, > object_id, **kwargs) > File "/Users/majora/venv/lib/python2.7/site-packages/ > django/contrib/admin/options.py" in change_view > 1519. return self.changeform_view(request, object_id, form_url, > extra_context) > File > "/Users/majora/venv/lib/python2.7/site-packages/django/utils/decorators.py" > in _wrapper > 34. return bound_func(*args, **kwargs) > File > "/Users/majora/venv/lib/python2.7/site-packages/django/utils/decorators.py" > in _wrapped_view > 110. response = view_func(request, *args, **kwargs) > File > "/Users/majora/venv/lib/python2.7/site-packages/django/utils/decorators.py" > in bound_func > 30. return func.__get__(self, type(self))(*args2, > **kwargs2) > File > "/Users/majora/venv/lib/python2.7/site-packages/django/utils/decorators.py" > in inner > 145. return func(*args, **kwargs) > File "/Users/majora/venv/lib/python2.7/site-packages/ > django/contrib/admin/options.py" in changeform_view > 1468. self.save_related(request, form, formsets, not add) > File "/Users/majora/venv/lib/python2.7/site-packages/ > django/contrib/admin/options.py" in save_related > 1102. self.save_formset(request, form, formset, > change=change) > File "/Users/majora/venv/lib/python2.7/site-packages/ > django/contrib/admin/options.py" in save_formset > 1090. formset.save() > File "/Users/majora/venv/lib/python2.7/site-packages/django/forms/models.py" > in save > 640. return self.save_existing_objects(commit) + > self.save_new_objects(commit) > File "/Users/majora/venv/lib/python2.7/site-packages/django/forms/models.py" > in save_existing_objects > 754. obj.delete() > File "/Users/majora/venv/lib/python2.7/site-packages/ > Mezzanine-4.0.1-py2.7.egg/mezzanine/core/models.py" in delete > 446. after = concrete_model.objects.filter(**lookup) > File > "/Users/majora/venv/lib/python2.7/site-packages/django/db/models/manager.py" > in manager_method > 127. return getattr(self.get_queryset(), name)(*args, > **kwargs) > File > "/Users/majora/venv/lib/python2.7/site-packages/django/db/models/query.py" > in filter > 679. return self._filter_or_exclude(False, *args, **kwargs) > File > "/Users/majora/venv/lib/python2.7/site-packages/django/db/models/query.py" > in _filter_or_exclude > 697. clone.query.add_q(Q(*args, **kwargs)) > File > "/Users/majora/venv/lib/python2.7/site-packages/django/db/models/sql/query.py" > in add_q > 1309. clause, require_inner = self._add_q(where_part, > self.used_aliases) > File > "/Users/majora/venv/lib/python2.7/site-packages/django/db/models/sql/query.py" > in _add_q > 1337. allow_joins=allow_joins, split_subq=split_subq, > File > "/Users/majora/venv/lib/python2.7/site-packages/django/db/models/sql/query.py" > in build_filter > 1155. value, lookups, used_joins = self.prepare_lookup_value(value, > lookups, can_reuse, allow_joins) > File > "/Users/majora/venv/lib/python2.7/site-packages/django/db/models/sql/query.py" > in prepare_lookup_value > 995. raise ValueError("Cannot use None as a query value") > > Exception Type: ValueError at /admin/vital_theme/tuitionpage/318/ > Exception Value: Cannot use None as a query value > > Any advice would be great appreciated! > > Cheers, > > Rich > > -- > You received this message because you are subscribed to the Google Groups > "Mezzanine Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Stephen McDonald http://jupo.org -- You received this message because you are subscribed to the Google Groups "Mezzanine Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
