首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Django管理界面:对内联ManyToMany字段使用horizontal_filter

Django管理界面:对内联ManyToMany字段使用horizontal_filter
EN

Stack Overflow用户
提问于 2012-07-26 04:00:58
回答 3查看 13.2K关注 0票数 27

我有一个要内联的Django模型字段。该字段是多对多关系。所以有“项目”和“用户档案”。每个用户配置文件可以选择任意数量的项目。

目前,我已经实现了“表格”内联视图。有没有一种方法可以让我有一个“水平过滤器”,这样我就可以很容易地在用户配置文件中添加和删除项目?

请看附件中的图片作为例子。

以下是用户配置文件的模型代码:

代码语言:javascript
复制
class UserProfile(models.Model):
    user = models.OneToOneField(User, unique=True)
    projects = models.ManyToManyField(Project, blank=True, help_text="Select the projects that this user is currently working on.")

和项目的模型代码:

代码语言:javascript
复制
class Project(models.Model):
    name = models.CharField(max_length=100, unique=True)
    application_identifier = models.CharField(max_length=100)
    type = models.IntegerField(choices=ProjectType)
    account = models.ForeignKey(Account)
    principle_investigator = models.ForeignKey(User)
    active = models.BooleanField()

和视图的管理代码:

代码语言:javascript
复制
class UserProfileInline(admin.TabularInline):
    model = UserProfile.projects.through
    extra = 0
    verbose_name = 'user'
    verbose_name_plural = 'users'

class ProjectAdmin(admin.ModelAdmin):
    list_display = ('name', 'application_identifier', 'type', 'account', 'active')
    search_fields = ('name', 'application_identifier', 'account__name')
    list_filter = ('type', 'active')
    inlines = [UserProfileInline,]
admin.site.register(Project, ProjectAdmin)
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11657682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档