среда, 14 мая 2014 г.

prepopulated_fields в админке Django

Во многих CMS предусмотрена возможность создания поля slug на базе заголовка. К примеру, пользователь вводит название статьи: "Как я научился плавать", а система генерирует "kak-ya-nauchilsya-plavat". По этому id статьи можно к ней будет обращаться, например:
http://somesite.com/articles/kak-ya-nauchilsya-plavat


В админке Django тоже есть такая возможность. К примеру, можно автоматически создавать SlugField на базе заголовка.


В файле вашего приложения myapp/admin.py
class TariffAdmin(admin.ModelAdmin):
    # Поле slug будет заполнено на основе поля title
    prepopulated_fields = {"slug": ("title",)}

При этом модель может выглядеть так:
from django.db import models

class Tariff(models.Model):
    title = models.CharField(max_length=100, verbose_name='Название')
    slug = models.SlugField(verbose_name='Идентификатор')
    # ... 


Комментариев нет:

Отправить комментарий