Найти - Пользователи
Полная версия: [SOLVED] Как получить в админке данные через обратную связь при использовании GenericTabularInline?
Начало » Django » [SOLVED] Как получить в админке данные через обратную связь при использовании GenericTabularInline?
1
TitanFighter
Я могу добавить “критерии” какому то “месту”. Как добавить “места” какому то “критерию”?

Модели:
 class Criterias(models.Model):
    name = ...
class Places(models.Model):
    name = ...
class PlacesToCriterias(models.Model):
    content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
    object_id = models.PositiveIntegerField()
    content_object = GenericForeignKey()
    criteria_group = models.ForeignKey(Criterias)

Админка - Места:
 class PlaceCriteriasInlineAdmin(GenericTabularInline):
    model = PlacesToCriterias
class PlacesAdmin(admin.ModelAdmin):
    inlines = [PlaceCriteriasInlineAdmin]
admin.site.register(Places, PlacesAdmin)
В данном случае, на странице редактирования “Места” я могу добавить “Критерии”.

Админка - Критерии:
 class CriteriaPlacesInlineAdmin(GenericTabularInline):
    model = PlacesToCriterias
class CriteriasAdmin(admin.ModelAdmin):
    inlines = [CriteriaPlacesInlineAdmin]
admin.site.register(Criterias, CriteriasAdmin)
В данном случае, на странице редактирования “Критерия” я НЕ могу добавить “Места”. Вместо возможного списка мест я вижу список критериев.

Как получить список мест на странице критерия?
TitanFighter
Все оказалось очень просто - нужно было вместо GenericTabularInline использовать admin.TabularInline

 class CriteriaPlacesInlineAdmin(admin.TabularInline):
    model = PlacesToCriterias
class CriteriasAdmin(admin.ModelAdmin):
    inlines = [CriteriaPlacesInlineAdmin]
admin.site.register(Criterias, CriteriasAdmin)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB