Thank you for your reply, and I'm sorry I didn't see the open issue before 
posting.

I can't promise a resolution, but I'll continue looking and testing.

For further information, this same issue also occurs with postgresql, as 
I'd expect if it's occurring where I think it is. And I'm able to save site 
settings to the database, just not new blogs or richtextpages.

Cheers,
    Mike

On Monday, November 12, 2018 at 7:36:12 PM UTC-5, Stephen McDonald wrote:
>
> There's an open issue for this: 
> https://github.com/stephenmcd/mezzanine/issues/1899
>
> I believe the GitHub version of Mezzanine had the maximum supported Django 
> version changed to 2.0 prematurely, although there's been a ton of 
> compatibility work done and the issue you're looking at is the last known 
> problem with Django 2.0. Once that's resolved we can do a new official 
> release supporting 2.0.
>
> I don't have any insight to the cause of the issue nor any immediate 
> availability to look at it myself.
>
>
> On Tue, Nov 13, 2018 at 11:11 AM Mike Schmidt <[email protected] 
> <javascript:>> wrote:
>
>> I created a new mezzanine project with the following software versions:
>>     Linux 4.18.17-041817-generic (Ubuntu 18.04 with newer kernel)
>>     MariaDB 10.1.34 (running fine after explicitly creating the database 
>> with utf8 character encoding)
>>     Python 3.6.6
>>     Django 2.0.9 (from pypi)
>>     Mezzanine 4.3.1 (from github, along with filebrowser-safe)
>>
>> The only modifications I've made are changing the timezone in settings.py 
>> and changing the database dictionary in local_settings.py.
>>
>> Everything seemed to work. 'python manage.py createdb' was successful, 
>> then 'python manage.py runserver 127.0.0.1:8000' was also successful.
>>
>> I logged into the admin interface, navigated to add a new richtext page, 
>> filled in the title and body, and clicked save. A debug-friendly error page 
>> was then returned, and the following text was in the console.
>>
>>     [12/Nov/2018 14:28:08] "POST /admin/admin_keywords_submit/ HTTP/1.1" 
>> 200 1
>>     Internal Server Error: /admin/pages/richtextpage/add/
>>     Traceback (most recent call last):
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/core/handlers/exception.py",
>>  
>> line 35, in inner
>>         response = get_response(request)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/core/handlers/base.py",
>>  
>> line 128, in _get_response
>>         response = self.process_exception_by_middleware(e, request)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/core/handlers/base.py",
>>  
>> line 126, in _get_response
>>         response = wrapped_callback(request, *callback_args, 
>> **callback_kwargs)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/contrib/admin/options.py",
>>  
>> line 575, in wrapper
>>         return self.admin_site.admin_view(view)(*args, **kwargs)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/utils/decorators.py",
>>  
>> line 142, in _wrapped_view
>>         response = view_func(request, *args, **kwargs)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/views/decorators/cache.py",
>>  
>> line 44, in _wrapped_view_func
>>         response = view_func(request, *args, **kwargs)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/contrib/admin/sites.py",
>>  
>> line 223, in inner
>>         return view(request, *args, **kwargs)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/mezzanine/pages/admin.py",
>>  
>> line 66, in add_view
>>         return super(PageAdmin, self).add_view(request, **kwargs)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/contrib/admin/options.py",
>>  
>> line 1554, in add_view
>>         return self.changeform_view(request, None, form_url, 
>> extra_context)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/utils/decorators.py",
>>  
>> line 62, in _wrapper
>>         return bound_func(*args, **kwargs)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/utils/decorators.py",
>>  
>> line 142, in _wrapped_view
>>         response = view_func(request, *args, **kwargs)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/utils/decorators.py",
>>  
>> line 58, in bound_func
>>         return func.__get__(self, type(self))(*args2, **kwargs2)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/contrib/admin/options.py",
>>  
>> line 1451, in changeform_view
>>         return self._changeform_view(request, object_id, form_url, 
>> extra_context)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/contrib/admin/options.py",
>>  
>> line 1492, in _changeform_view
>>         self.save_related(request, form, formsets, not add)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/contrib/admin/options.py",
>>  
>> line 1049, in save_related
>>         form.save_m2m()
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/forms/models.py",
>>  
>> line 439, in _save_m2m
>>         f.save_form_data(self.instance, cleaned_data[f.name])
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/mezzanine/generic/fields.py",
>>  
>> line 206, in save_form_data
>>         super(KeywordsField, self).save_form_data(instance, data)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/db/models/fields/__init__.py",
>>  
>> line 838, in save_form_data
>>         setattr(instance, self.name, data)
>>       File 
>> "/home/mike/projects/plab/venv/lib/python3.6/site-packages/django/db/models/fields/related_descriptors.py",
>>  
>> line 509, in __set__
>>         % self._get_set_deprecation_msg_params(),
>>     TypeError: Direct assignment to the reverse side of a related set is 
>> prohibited. Use +.set() instead.
>>     [12/Nov/2018 14:28:08] "POST /admin/pages/richtextpage/add/ HTTP/1.1" 
>> 500 146350
>>
>> Attempting to debug this in pycharm, I found that the item being saved 
>> was a 'keyword' of ''. I had not entered any keywords in the form, so it 
>> appears the empty string is saved, anyway. I've read through both django 
>> and mezzanine code in the callstack, and it seems like this is related to 
>> django's database layer and ManyToMany relationships. But it seems the 
>> ultimate saving of the empty keyword is a Field.setattr() call, which is 
>> neither an = or a .set(). And I don't know what the '+' character is from.
>>
>> Can anyone help me to understand what needs to be fixed, here? Since I 
>> haven't actually written any code, I'm tempted to think either mezzanine or 
>> django needs a pull request. Or perhaps there's a compatibility issue 
>> between versions of django and mezzanine? I haven't seen anything obvious 
>> in git diffs. But until I understand better, I wouldn't know how to go 
>> about fixing it. I have found a few slightly similar things in this group 
>> and on stackexchange, but nothing that matches. The same behavior occurs if 
>> I run the server and try to add a blog post rather than a richtextpage. And 
>> I get the same behavior on a different server running debian 8 rather than 
>> ubuntu 18.
>>
>> Thanks for any advice!
>>
>> -- 
>> 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] <javascript:>.
>> 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.

Reply via email to