Django Admin: Как проверить значение поля модели TabularInline
Я хочу проверить значение, заполненное пользователем в Django Admin для модели TabularInline.
Возможно, приведенное выше предложение не имеет смысла, если да, пожалуйста, проигнорируйте приведенное выше предложение, и ниже приведено более подробное объяснение моего требования.
В моей модели есть 2 класса (Filter и FilterCondA), как показано ниже:
Фильтр имеет имя фильтра и id.
class Filter(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
filter_name = models.CharField(max_length=32, unique=True, verbose_name=_("Name"))
And FilterCondA has
class FilterCondA(models.Model):
DEVICE_FIELD = ((A, 'A'), (B, 'B'), (C, 'C'), (D, 'D'))
opt_contains, opt_exact, opt_startswith, opt_endswith = 'contains', 'exact', 'startswith', 'endswith'
OPERATORS = ((opt_contains, 'Contains'), (opt_exact, 'Exact'), (opt_startswith, 'Startswith'), (opt_endswith, 'Endswith'))
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
fconda_filter = models.ForeignKey(Filter, null=True, blank=True, verbose_name=_('Filter'))
fconda_field = models.CharField(max_length=512, choices=DEVICE_FIELD, blank=False, verbose_name=_("Device Field"))
fconda_logic_op = models.CharField(max_length=16, choices=OPERATORS, blank=False, verbose_name=_("Operator"))
fconda_value = models.CharField(max_length=64, null=True, blank=False, verbose_name=_("Value"))
fconda_neg = models.BooleanField(null=False, blank=False, default=False, verbose_name=_("Negate"))
Пользовательский интерфейс выглядит следующим образом:
=========================================
admin.py выглядит следующим образом:
class FilterCondAAdmin(admin.TabularInline):
model = FilterCondA
class FilterAdmin(admin.ModelAdmin):
inlines = [FilterCondAAdmin]
Я хочу проверить, добавил ли пользователь какие-либо условия или нет в фильтр, или был создан пустой фильтр.
Я хочу запретить пользователю 2 создавать пустые фильтры.
Заранее спасибо
