I'm seeing the same thing, trying to ad a ManyToManyField to all pages.
>From my settings.py:
EXTRA_MODEL_FIELDS = (
(
"mezzanine.pages.models.Page.blog_categories", #let blog posts be
displayed below content on pages
"ManyToManyField",
("blog.BlogCategory",),
{"related_name":'pages',
"blank":True,
"null":True,},
),
)
When I run python manage.py schemamigration pages --auto I get the
following error:
Traceback (most recent call last):
File "/path/to/myproject/manage.py", line 28, in <module>
execute_from_command_line(sys.argv)
File "/path/to/python2.7/django/core/management/__init__.py", line 399, in
execute_from_command_line
utility.execute()
File "/path/to/python2.7/django/core/management/__init__.py", line 392, in
execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/path/to/python2.7/django/core/management/base.py", line 242, in
run_from_argv
self.execute(*args, **options.__dict__)
File "/path/to/python2.7/django/core/management/base.py", line 285, in
execute
output = self.handle(*args, **options)
File "/path/to/python2.7/south/management/commands/schemamigration.py",
line 159, in handle
action.add_forwards(forwards_actions)
File "/path/to/python2.7/south/creator/actions.py", line 39, in
add_forwards
forwards.append(self.forwards_code())
File "/path/to/python2.7/south/creator/actions.py", line 524, in
forwards_code
"left_field": self.field.m2m_column_name()[:-3], # Remove the _id part
TypeError: 'NoneType' object has no attribute '__getitem__'
I've tried
On Tuesday, February 3, 2015 at 11:34:20 AM UTC-7, [email protected]
wrote:
>
>
> Hi everyone,
>
> I'm getting the same error exactly while running the schemamigration
> command:
>
> TypeError: 'NoneType' object has no attribute '__getitem__'
>
>
> In my case the model is cartridge.shop.models.Product but the situation
> is really really close:
>
> EXTRA_MODEL_FIELDS = (
> # Four-item sequence for one field injected.
> (
> # Dotted path to field.
> "cartridge.shop.models.Product.tags",
> # Dotted path to field class.
> "ManyToManyField",
> # Positional args for field class.
> ('theme.Tag', ),
> # Keyword args for field class.
> {"related_name": "products", "blank": True, "null": True},
> ),
> )
>
> And the theme.Tag model is:
>
> class Tag(models.Model):
> """
> """
> nome = models.CharField(_("Nome"), blank=True, max_length=100)
>
>
> Has anyone found the problem or what's wrong with this setup?
>
> Thank you,
> Maurizio
>
>
> Il giorno venerdì 1 agosto 2014 16:59:19 UTC+2, Ryan Sadwick ha scritto:
>>
>> Make sure you run a south schemamigration on the blog app itself:
>>
>> Something like:
>> manage.py schemamigration blog --auto
>>
>>
>>
>>
>>
>> On Tuesday, July 29, 2014 10:14:18 AM UTC-4, Beau Severson wrote:
>>>
>>> I was also wondering the answer to this. I'm trying to add a new M2M
>>> field to the BlogPost model and I keep getting the exact same error. Is
>>> this a bug for mezzanine using south? My EXTRA_MODEL_FIELDS contains the
>>> following:
>>>
>>> (
>>> "mezzanine.blog.models.BlogPost.industry",
>>> "ManyToManyField", # type of field to add
>>> ("users.Industry",),
>>> {"blank": True, "null": True},
>>> ),
>>>
>>> Everytime I attempt the migration though I get the same error you are
>>> seeing.
>>>
>>> On Friday, January 11, 2013 8:40:05 AM UTC-6, Sam wrote:
>>>>
>>>>
>>>> Hello,
>>>>
>>>> In the admin interface i would like it to be possible to select
>>>> multiple genres for blogposts. These genres are from a different model so
>>>> I
>>>> used the technique described in the manual.
>>>>
>>>> I try to add a custom ManyToManyField to the blog app using the
>>>> following syntax in my settings.py:
>>>>
>>>> (
>>>> "mezzanine.blog.models.BlogPost.genre",
>>>> "ManyToManyField",
>>>> ('blog_custom.Genre',),
>>>> {"null":True, "blank": True,},
>>>> ),
>>>>
>>>> I started a custom app called blog_custom where I'd like to store the
>>>> migrations. I have defined my Genre model as follows:
>>>>
>>>> class Genre(models.Model):
>>>> name = models.CharField(max_length=300)
>>>>
>>>> Given the fact that I use South in this project, I have to perform a
>>>> migration at which point I get the following error:
>>>> TypeError: 'NoneType' object has no attribute '__getitem__'
>>>>
>>>> After some investigation I found out that this issue might actually be
>>>> related to South, or related to the way the arguments are passed on from
>>>> mezzanine to South. If I, for example, create the intermediare table that
>>>> should have been created with the migration manually, and run the
>>>> migration
>>>> after this fact, it does complete since south does not have to create it.
>>>> The problem with this approach is that Django will not use this
>>>> intermediary model in the admin interface, which is what I need.
>>>>
>>>> Any thoughts?
>>>>
>>>> Thanks
>>>>
>>>
--
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.