Заполните поле слизняка из StackedInline Model Django - PullRequest
1 голос
/ 10 октября 2019

Вот как настроены мои модели:

class Category(models.Model):
    name = models.CharField(max_length=255, unique=True)
    slug = models.SlugField(max_length=500, null=True, blank=False, allow_unicode=True)
    language = LanguageField(blank=False, choices=LANGUAGE_CHOICES, default='')

class Post(models.Model):
    header = models.CharField(max_length=500, blank=False, default='')
    slug = models.SlugField(max_length=500, null=True, blank=False, allow_unicode=True)
    category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name="posts")
    content = RichTextUploadingField(blank=True, null=True)

И admin.py:

class PostInline(admin.StackedInline):
    model = Post
    extra = 0

class CategoryAdmin(admin.ModelAdmin):
    inlines = [PostInline]
    list_display = ('name', 'slug', 'ordering')
    prepopulated_fields = { 
        'slug': ('name',),
     }

class PostAdmin(admin.ModelAdmin):
    list_display = ('get_category', 'header', 'creation_date', 'number_of_minutes')
    prepopulated_fields = { 'slug': ('header',), }

Когда я создаю сообщение из категории StackedInline Posts inadmin, slug не заполняет заголовок сообщения ? Я только добавил prepopulated_fields = { 'slug': ('header',), } в PostInline(admin.StackedInline), и он работает, но только когда cuurent action имеет значение Add Я видел это при попытке создать post из встроенной модели, текущее действие - change и слизняк не работает с первого раза!

...