python - 使用 django admin 进行一对多内联选择

标签 python django django-models django-admin

我建立了标准的多对一关系。有一堆字段,但是为了我们这里的目的,相关的模型是:

class Class(models.Model):
    name = models.CharField(max_length=128)

class Student(models.Model):
    class = models.ForeignKey(Class)
    name = models.CharField(max_length=128)
    address = models.CharField(max_length=128)
    # ...etc

我创建了一个管理员,效果很好。当我编辑学生时,它甚至可以自动设置类(class)。但是,当我去创建/编辑一个类时,我得到的只是一个名称的输入框。

有没有办法添加一个框/字段,可以从类(class)管理页面将学生添加为类(class)成员?我可以内联表格,但那是创建新学生。我已经创建了所有学生,并且正在寻找一种将多个现有学生添加到不同类(class)的快速方法。

最佳答案

有!你想要 InlineModelAdmin (see InlineModelAdmin documentation here)

简单的示例代码:

class StudentAdminInline(admin.TabularInline):
    model = Student

class ClassAdmin(admin.ModelAdmin):
    inlines = (StudentAdminInline, )
admin.site.register(Class, ClassAdmin)

关于python - 使用 django admin 进行一对多内联选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6034047/

相关文章:

python - Django 1.9 教程第 2 部分 : No module named 'polls.apps' when running python manage. py makemigrations 投票

python - 使用 PyTorch 实现自定义数据集

django - Flutter 向 Django API 发送一个以文件为正文的 POST 请求

python - Django 中的用户类型使用相同的登录名和注册表单

python - Clear 和 exit_fullscreen 似乎不起作用

python - 为什么 python 引用中的绑定(bind)实例方法不相等?

python - 在生产服务器上工作的端口值应该是多少?

javascript - 无法使用ajax添加评论

python - django 并执行一个单独的 .py 来操作数据库

django - 将 Django 模型设为只读?