我有一个问题,是否可以使用通用 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 上提出的第一个问题,所以如果我的帖子缺少任何强制性元素,请告诉我。