Django подтверждает ModelInlines в родительской модели
Предположим, у нас есть 2 модели django:
class File:
# Comma separated list of column names
unique_columns = models.CharField(max_length=200)
class Column:
file = models.ForeignKey(File, on_delete=models.CASCADE)
name = models.CharField(max_length=50)
В файле admin.py
class ColumnInline(nested_admin.NestedTabularInline):
model = Column
class FileAdmin(admin.ModelAdmin):
inlines = [ColumnInLine]
Что я хочу достичь
При сохранении этих моделей на странице Admin я хочу проверить, установлены ли файлы unique_columns как Columns связанные с этим File (путем проверки существования связанного объекта с таким именем)
Что я пробовал
Очевидно, что метод
clean()наFileне будет работать, так как он сохраняется доColumn.Переопределение
.save_formsetнаFileAdmin, однако я не совсем понимаю, как получить доступ кColumnформам
Вопрос Как этого добиться? Возможно ли это с помощью пользовательской формы? Или я могу переопределить save_formset и сделать нужную мне валидацию?
Вопрос более общего характера: Какой хороший способ делать такие валидации, когда проверка одной формы зависит от форм других объектов?