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)
source
share