Django Many to Many through an intermediate table, e.g. TabularInline?

I would like to have a form for adding, editing, and deleting values ​​for many to many relationships using the specified table of intermediate elements, just like what I can get from the Django admin TabularInline form. Is there any way to do this? I did not find it in the Django documentation.

I created a UserProfile editing form and would like to be able to add, edit and delete many of the many using UserProfile_Language (both language and knowledge). How do I make a form for this? How do I handle this in a view?

My models:

class Language(models.Model):
    LANGUAGE_ENGLISH = 1
    LANGUAGE_FRENCH = 2
    LANGUAGE_CHOICES = (
        (LANGUAGE_ENGLISH, 'English'),
        (LANGUAGE_FRENCH, 'French')
    )

    language = models.SmallIntegerField(choices=LANGUAGE_CHOICES)

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    languages = models.ManyToManyField(Language, null=True, blank=True, through='UserProfile_Language')

class UserProfile_Language(models.Model):
    FLUENT = 1
    OK = 2
    PROFICIENCY_CHOICES = (
        (FLUENT, 'Fluent'),
        (OK, 'Okay')
    )

    userprofile = models.ForeignKey(UserProfile)
    language = models.ForeignKey(Language)
    proficiency = models.SmallIntegerField(choices=PROFICIENCY_CHOICES)
+5
source share
1

, , . , , . (Http://docs.djangoproject.com/en/dev/topics/forms/formsets/). , .

, , , , userprofile_language ? ForeignKey . . ( )

+2

All Articles