Встроенный админ Django не работает, как описано в документации - PullRequest
0 голосов
/ 01 марта 2019

У меня есть брокер и брокер подписка на программы, как определено удар.Принимая во внимание django docs , настройка мозговых подписок на программы как встроенных в представлении администратора брокера не должна быть сложной, но она не работает должным образом.Нужно ли также добавлять форму для inline?

# Models
class Broker(models.Model):
   ...
   program_subscriptions = models.ManyToManyField(Program, through='ProgramSubscriptions')


class ProgramSubscriptions(models.Model):
    broker = models.ForeignKey(Broker, on_delete=models.CASCADE)
    program = models.ForeignKey(Program, on_delete=models.CASCADE)

#Admin
class BrokerForm(forms.ModelForm):
    class Meta:
        model = Broker
        fields = ('__all__')

class ProgramSubscriptionsInline(admin.TabularInline):
   model = ProgramSubscriptions
   extra = 0

class BrokerAdmin(admin.ModelAdmin):
    model = Broker
    form = BrokerForm
    inlines = (ProgramSubscriptionsInline,)
    exclude = ('program_subscriptions',)

admin.site.register(Broker, BrokerAdmin)

Изменения:

Я не вижу ничего для подписки на программы в представлении редактирования брокера.То, что я ожидал, это выпадающий список для каждой программы, по крайней мере, и список всех программ, на которые подписан брокер и т. Д.

...