如何在 Django 管理面板中多次添加字段

How to add a field many times in Django admin panel

在 Django 管理面板中多次添加字段的最佳方法是什么

我的意思是如何在管理面板中添加很多名字

我想添加很多名字,因为我有课程部分,我想添加第 1 课然后将其提供给 youtube link 然后添加第 2 课然后将其提供 youtube link 等

我在 models.py 中有此代码:

from django.db import models

class Courses(models.Model):
    name = models.CharField(max_length=50,default="")

    def __str__(self):
        return self.name

我想要这样的结果

任何帮助

所以您可能也有一个课程模型,看起来像这样:

class Lesson(models.Model):
    course = models.ForeignKey(Course, on_delete=models.CASCADE)
    name = models.CharField(max_length=50)
    youtube_url = models.URLField()

在这种情况下,您需要课程模型上的内联表单集,我们可以使用 inline admin:

# admin.py
from django.contrib import admin
from .models import Course, Lesson

class InlineLessons(admin.StackedInline):
    model = Lesson


class CourseAdmin(admin.ModelAdmin):
    inlines = [ InlineLessons ]

admin.site.register(Lesson)  # Needed for permissions
admin.site.register(Course, CourseAdmin)

现在去管理员里面的课程,你可以在下面添加很多课程。