编辑多选字段?

时间:2021-06-06 17:08:33

标签: django django-admin

所以我的模型中有一个 ManyToMany 字段,Django 管理员将它呈现为多选字段。它工作正常,我没有任何问题 - 除了在创建记录后我无法编辑。 我尝试了 Del 键,鼠标右键单击,没有任何效果。看起来我必须删除记录并重新创建它?

enter image description here

这是我要编辑的字段。我想删除上述项目中的一两个。我使用的是 Windows。

1 个答案:

答案 0 :(得分:0)

看起来有一个更简单的解决方案:

Webdev Hints 提供)

这是我的模型:

class Technology(models.Model):
    title = models.CharField(max_length=10)

    def __str__(self):
        return self.title

    class Meta:
        verbose_name_plural = 'Technologies'


class Project(models.Model):
    title = models.CharField(max_length=100)
    description = HTMLField()
    technology = models.ManyToManyField(Technology, related_name='projects')
    image = models.ImageField(upload_to='projects/')

    def __str__(self):
        return self.title

解决方案是将以下内容添加到 admin.py 中:

@admin.register(Technology)
class TechnologyAdmin(admin.ModelAdmin):
    pass


class TechnologyInline(admin.TabularInline):
    model = Project.technology.through


@admin.register(Project)
class ProjectAdmin(admin.ModelAdmin):
    inlines = (TechnologyInline,)
    exclude = ('technology',)

现在 ManyToMany 字段是可编辑的。

相关问题