Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16

Генерация slug django из DateTimefield

26.02.2019, 10:57. Показов 2488. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возможна генерация slug django из DateTimefield?

Есть класс

Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
class lead(models.Model):
    '''
    kanban - статус, данные записываются в таблицу kanban
    user - невидимое поле в которое записывать какой пользователь внес данные
    client - из юзерс - выбираем "клиента", с заранее указанным типом - клиент
    date - конвертируется в
    '''
    created = models.DateTimeField(auto_now_add=True, db_index=True, editable=False, null=False, blank=False)
    slug = models.SlugField(max_length=50, allow_unicode=True)
    # slug = models.SlugField(max_length=60, unique=True)
    kanban = models.ForeignKey('kanban_type', on_delete=models.CASCADE)
    date_work = models.DateTimeField(blank=True, verbose_name="Дата исполнения")
    # client = models.ForeignKey(
    #     client,
    #     verbose_name="Ответственный",
    #     blank=True,
    #     null=True,
    #     on_delete=models.SET_NULL
    # )
    # responsible = models.ForeignKey(
    #     worker,
    #     verbose_name="Ответственный",
    #     blank=True,
    #     null=True,
    #     on_delete=models.SET_NULL
    # )
    price = models.CharField(max_length=15, verbose_name='Цена заявки')
    descr = models.CharField(blank=True, max_length=300, verbose_name='Описание')
    expenses = models.ManyToManyField('expenses', blank=True, verbose_name='Затраты')
    invoices = models.ManyToManyField('invoices', blank=True, verbose_name='Приход')
    saldo = models.CharField(max_length=100, blank=True, verbose_name='Сальдо')
    # created_by = models.ForeignKey(
    #     User,
    #     null=False,
    #     blank=False,
    #     editable=False,
    #     auto_created=True
    # )
 
    def __str__(self):
        return self.text
 
    class Meta:
        verbose_name = 'Заявка'
        verbose_name_plural = 'Заявки'
 
    def save(self, *args, **kwargs):
        self.expenses.сумма_всех = self.expenses
        self.invoices.сумма_всех = self.invoices
        self.saldo = self.invoices - self.expenses
        self.saldo.save()
        super(saldo, self).save(*args, **kwargs)



где slug надо генерировать так, чтобы он стал и категориями для работы, например

Python
1
2
3
4
5
6
7
8
9
10
from django.urls import path
 
from . import views
 
urlpatterns = [
    path('articles/2003/', views.special_case_2003),
    path('articles/<int:year>/', views.year_archive),
    path('articles/<int:year>/<int:month>/', views.month_archive),
    path('articles/<int:year>/<int:month>/<slug:slug>/', views.article_detail),
]

https://docs.djangoproject.com... http/urls/

Но там про работу с классом модели (как сделать, чтобы урл задавался автоматически) не нашел
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.02.2019, 10:57
Ответы с готовыми решениями:

Авто генерация юниттестов для Django
Для автоматической генерации юниттестов для простого пайтон кода существует pythoscope. Есть ли подобная штука и для Django? Или...

Не видит slug
что ему не нравиться? миграции сделаны. на скриншоте пишет что Объект 'Product' не имеет атрибута 'slug' хотя в код я его добавил. ...

slug url и русские буквы
Хотел сделать так в модели переопределил метод def to_param &quot;#{id}-#{title}&quot; end И всё бы не чего, если бы не русские...

3
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
26.02.2019, 14:07
Лучший ответ Сообщение было отмечено Рыжий Лис как решение

Решение

Сигнал pre_save + функция генерации слага (совет - проверяйте на уникальность).
2
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
27.02.2019, 18:54
IRIP, попробуй prepopulated_fields. Не знаю, заработает ли он c DataTimeField, но с цифрами, буквами он работает очень легко.
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
28.02.2019, 08:42
Помимо сигнала pre_save можно ещё у модели переопределить метод save (только не забыть вызвать в конце оригинальный метод у родителя).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.02.2019, 08:42
Помогаю со студенческими работами здесь

Register_post_type и register_taxonomy с одинаковым slug
Здравствуйте. Столкнулся с проблемой на которую не могу пока найти ответа. Я Регистрирую новую таксономию и пост тайп: ...

Получить slug атрибута в заказ
Здравствуйте! В woocommerce при заказе формируется письмо, данные для письма (Название продукта, цена, количество и тд) берется из $orders....

Slug обрезается при добавлении
Здравствуйте, нужна помощь. При добавлении в бд формирую slug из title следующий образом: 'slug' =&gt;...

Woocommerce получить slug атрибута
Здравствуйте! Как получить slug атрибута выбранной вариации?

Удалить slug c custom post в Вордпресс
Структура моих ссылок в настройках вордпресс: %category%/%postname%/ Я хочу удалить slug из custom post, и я нашел следующее решение ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru