Вопрос по Django 2.0 с Select2 на коробке. Как сделать для моделей с ForeignKey
(autocomplete_fields
) многошаговый выбор в стандартном Django Admin?
Мое tours
приложение:
tours/models.py:
class Tours(models.Model):
country = models.ForeignKey(Countries, on_delete=None, default=None)
resort = models.ForeignKey(Resorts, on_delete=None, null=True, default=None)
tours/admin.py:
@admin.register(Tours)
class ToursAdmin(admin.ModelAdmin):
list_display = ('country', 'resort',)
autocomplete_fields = ('country', 'resort',)
А это мое countries
приложение:
countries/models.py:
class Countries(models.Model):
name = models.CharField(max_length=255)
class Resorts(models.Model):
name = models.CharField(max_length=255)
country = models.ForeignKey(Countries, on_delete=models.CASCADE, default=None)
страны/admin.py:
class ResortsInlineAdmin(admin.StackedInline):
model = Resorts
@admin.register(Countries)
class CountriesAdmin(admin.ModelAdmin):
list_display = ('name',)
search_fields = ('name',)
inlines = [ResortsInlineAdmin,]
@admin.register(Resorts)
class ResortsAdmin(admin.ModelAdmin):
list_display = ('name', 'country',)
search_fields = ('name',)
Было бы неплохо после выбора значения в поле Country
— оставить в поле Resort
только те значения, которые относятся к этому Country
(опция inlines
в countries/admin.py
).
Аналогичная демонстрация с PHP + jQuery.
tours/admin.py
дополнительный_контекст с идентификаторамиCountry
иResort
и жестко запрограммированным шаблоном администратора (добавьте некоторый код jQuery для поля изменения и перестройте в них массив идентификаторов). - person koddr   schedule 16.01.2018