Django - (admin.E015) Значение 'exclude' содержит дублирующее поле (поля)

У меня есть следующие модели:

class Step(models.Model):
    start_time = models.TimeField()
    time = models.IntegerField()
    schedule = models.ForeignKey(Schedule, on_delete=models.CASCADE)

class Schedule(models.Model):
    identifier = models.CharField(max_length=10)
    name = models.CharField(max_length=100)
    steps = models.ManyToManyField('manager.Step', related_name='steps')

Они зарегистрированы в django-admin следующим образом:

@admin.register(Schedule)
class ScheduleAdmin(admin.ModelAdmin):
    list_display = ['identifier', 'name']


@admin.register(Step)
class StepAdmin(admin.ModelAdmin):
    list_display = ['start_time', 'time', 'schedule']
    exclude = list('schedule')

Однако при запуске сервера я получаю следующую ошибку:

ERRORS:
<class 'manager.admin.StepAdmin'>: (admin.E015) The value of 'exclude' contains duplicate field(s).

Как я могу решить эту проблему? Я не знаком с тем, как должно работать двухстороннее связывание в Django?

Вы должны записать список в виде:

@admin.register(Step)
class StepAdmin(admin.ModelAdmin):
    list_display = ['start_time', 'time', 'schedule']
    exclude = ['schedule']

Используя list('schedule'), он будет рассматривать список как итерабельность и создаст список:

>>> list('schedule')
['s', 'c', 'h', 'e', 'd', 'u', 'l', 'e']
Вернуться на верх