У меня есть вопрос, возможно ли использовать универсальный класс UpdateView для редактирования «обеих сторон» отношения «многие ко многим».У меня есть следующие классы, определенные в models.py:
class SomeCategory(models.Model):
code = models.CharField(max_length=5)
name = models.CharField(max_length=40)
class SomeClass(models.Model):
code = models.CharField(max_length=3, unique=True)
name = models.CharField(max_length=30, unique=False)
age = models.IntegerField(null=False)
allowed_categories = models.ManyToManyField(SomeCategory)
Это обе таблицы словарных типов, в которых хранятся наборы данных конфигурации для моего приложения.Чтобы разрешить редактирование словарей, я использую простые UpdateViews:
class SomeClassUpdate(UpdateView):
model = SomeClass
template_name = 'admin/edit_class.html'
fields = ['code', 'name', 'age', 'allowed_categories']
ordering = ['code']
Это отлично работает, я получаю хороший мульти-выбор и все идеально.Однако я хотел бы иметь возможность редактировать отношения со стороны таблицы SomeCategory, чтобы я мог выбрать, какие элементы SomeClass связаны с определенной категорией SomeCategory:
class SomeCategoryUpdate(UpdateView):
model = SomeCategory
template_name = 'admin/edit_category.html'
fields = ['code', 'name', ??????? ]
ordering = ['code']
Я попытался добавить related_name
атрибут для модели SomeCategory, но это не сработало.
Есть какие-нибудь идеи, если это можно сделать без использования пользовательской ModelForm?
Ключевые версии библиотеки:
Django==1.11.8
psycopg2==2.7.4
PS: это мой самый первый вопрос, заданный относительно stackoverflow,поэтому, пожалуйста, дайте мне знать, если в моем сообщении отсутствуют какие-либо обязательные элементы.