У меня есть модель с SlugField
.Значение этого поля создается при первом сохранении экземпляра модели:
from django.db import models
from django.template.defaultfilters import slugify as default_slugify
class SlugModel(models.Model):
name = models.CharField(max_length=100)
slug = models.SlugField(max_length=100)
def save(self, *args, **kwargs):
if not self.pk:
self.slug = self.slugify(self.name)
return super(SlugModel, self).save(*args, **kwargs)
def slugify(self, tag):
slug = default_slugify(tag)
return slug
Если я использую эту модель в ModelForm
, по умолчанию отображается поле слаг.
from django.forms import ModelForm
class SlugModelForm(ModelForm):
class Meta:
model = SlugModel
Как автоматически запретить всем ModelForms
отображать все его SlugFields
без указания вручную ModelForm.exclude
или SlugField(editable=False)
в каждой форме / поле?.