theatlantic/django-select2-forms

Not possible to create model EntryAuthors(select2.models.SortableThroughModel)

misazr opened this issue · 6 comments

Hi,
I have installed the django-select2-forms in my django project and I have problem to create model
EntryAuthors, I have been developing my application in django 1.8.2. My problem comes with m2m field where I need to have ability to store order of elements. When I set models: Author and Entry from first example it works fine, but when I try to add middle table EntryAuthors I can't create migration for this table and migrate it. My problem comes with EntryAuthors(select2.models.SortableThroughModel) code in bracket. Can you check this issue, or create simple project for example m2m with storing order with your modul in django 1.8 and put somewhere?

We're using Django 1.8, and our models look something like this:

from django.db import models

import select2.fields
import select2.models


class Author(models.Model):

    name = models.CharField(max_length=255)


class Entry(models.Model):

    authors = select2.fields.ManyToManyField(Author,
        through='EntryAuthors',
        sort_field='position')


class EntryAuthors(select2.models.SortableThroughModel):

    author = models.ForeignKey(Author)
    entry = models.ForeignKey(Entry)
    position = models.PositiveSmallIntegerField()

    class Meta:
        ordering = ['position']

Thank you for replay but it didn't help.
I try like this: first I installed your modul 1.1.25,
then I set in installed_App 'select2',
in url I put url(r'^select2/', include('select2.urls')),
then I went to model.py and I put on top

from django.db import models
import select2.fields
import select2.models

at the end of page I added first model

class Author(models.Model):
name = models.CharField(max_length=255)

and created migration and migrate ( python manage.py makemigration and migrate)

later I added rest code and execute makemigration and migrate but django didn't create migration for table EntryAuthors it create only for Entry

Oh! I see what you're saying. Let me look into this and get back to you.

Here is my code:
https://github.com/misazr/test_m2m_project.git

Let me know if you find a reason why avoid to create model EntryAuthors(select2.models.SortableThroughModel):

I tried today to download last version 1.1.27 and act same as 1.1.25.
I tried to install this module with in django 1.5.5 project and makes same problem avoid to create middle table EntryAuthors

This is an old ticket, but in the newest version (2.0.0) I've switched to using django-sortedm2m for this functionality, which fixes the issues with the through table not being created in migrations.