所以我的模型中有一个 ManyToMany 字段,Django 管理员将它呈现为多选字段。它工作正常,我没有任何问题 - 除了在创建记录后我无法编辑。 我尝试了 Del 键,鼠标右键单击,没有任何效果。看起来我必须删除记录并重新创建它?
这是我要编辑的字段。我想删除上述项目中的一两个。我使用的是 Windows。
答案 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
字段是可编辑的。