У меня есть брокер и брокер подписка на программы, как определено удар.Принимая во внимание 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)
Изменения:
Я не вижу ничего для подписки на программы в представлении редактирования брокера.То, что я ожидал, это выпадающий список для каждой программы, по крайней мере, и список всех программ, на которые подписан брокер и т. Д.