Я так реализовал статус постов... is_published = models.CharField(max_length=10, choices=[('draft', 'Draft'), ('published', 'Published')], default='draft' ). Я не создавал дополнительно класса внутри модели. Особого смысла нет использовать 0 и 1, а что если статусов будет 5 (например для CRM приложения)? Считаю, что подход который я предложил более гибкий
Спасибо за ваши замечательные уроки! Хочу уточнить следующее: почему панель администрирования перестаёт загружаться, если в list_display добавить поле 'tags'?
Спасибо, как всегда отличное видео. Два вопроса. 1. Как сделать, чтобы в поле "действие" выводились не прочерки, а пункт выпадающего списка? 2. Как вывести в первом столбце не ID, а номера строк по порядку и при переходе по пагинации верхний номер был не 1-й, а соответствовал шагу перехода (1, 6, 11 и т.д.)? Спасибо.
А если такое решение, без костылей? class Women(models.Model): class Status(models.TextChoices): DRAFT = 0, 'Черновик' PUBLISHED = 1, 'Опубликовано' ... is_published = models.CharField(max_length=2, choices=Status.choices, default=Status.PUBLISHED, verbose_name='Опубликовано')
Была проблема, если кто-то также столкнулся - оставлю коммент. Проблема: у меня в админ панели отображались только опубликованные посты. Из-за того что в классе модели Women менеджеры шли в порядке : 1. published = PublishedManager() 2. objects = models.Manager() А нужно наоборот :)
С каждым уроком больше и больше нравится Django
Сергей, спасибо вам огромное за эти видео! И спасибо, что увеличили интервал между публикациями уроков, лично я немного не поспевал.
Т.е. сегодняшний урок ты готов 2 дня переваривать?
не все бездельники как некоторые. обычно у людей много чего еще, требующего времени, происходит.@@xepocyka
Много чего узнал, и ещё больше полюбил Django. Спасибо вам!❤
Спасибо Сергей🤝, здоровья тебе!!!
Каждый урок как песня
Магия какая-то.
Спасибо! Всё очень понятно объясняете!
Спасибо. Будем применять.
спасибо за урок
Я так реализовал статус постов... is_published = models.CharField(max_length=10, choices=[('draft', 'Draft'), ('published', 'Published')], default='draft' ). Я не создавал дополнительно класса внутри модели. Особого смысла нет использовать 0 и 1, а что если статусов будет 5 (например для CRM приложения)? Считаю, что подход который я предложил более гибкий
Спасибо за ваши замечательные уроки! Хочу уточнить следующее: почему панель администрирования перестаёт загружаться, если в list_display добавить поле 'tags'?
Спасибо! Это вопрос в ТГ-канал, т.к. нужны детали. Думаю, сообщество быстро ответит.
Спасибо, как всегда отличное видео. Два вопроса.
1. Как сделать, чтобы в поле "действие" выводились не прочерки, а пункт выпадающего списка?
2. Как вывести в первом столбце не ID, а номера строк по порядку и при переходе по пагинации верхний номер был не 1-й, а соответствовал шагу перехода (1, 6, 11 и т.д.)?
Спасибо.
Здравствуйте, а можете сделать видео по тому как делать обмен файлами скачивание и выгрузка файла?
закачка файлов на сервер будет
@@selfedu_rus круто, спасибо
@@selfedu_rus желательно закачка с прогрес баром на фронтенде!)
Вопрос. Если в is_published использовать третье значение, например "на модерации", то уже нужно использовать TextChoices, я правильно понял?
👍
А если такое решение, без костылей?
class Women(models.Model):
class Status(models.TextChoices):
DRAFT = 0, 'Черновик'
PUBLISHED = 1, 'Опубликовано'
...
is_published = models.CharField(max_length=2, choices=Status.choices, default=Status.PUBLISHED, verbose_name='Опубликовано')
Если работает, то круто!
а как это работает? разве в случае с TextChoices, первое значение в кортежах не должно быть строковым?
Была проблема, если кто-то также столкнулся - оставлю коммент. Проблема: у меня в админ панели отображались только опубликованные посты. Из-за того что в классе модели Women менеджеры шли в порядке :
1. published = PublishedManager()
2. objects = models.Manager()
А нужно наоборот :)
Спасибо тебе, добрый человек! Не представляю сколько бы я времени потратил на выяснение причины без твоего комментария!🤝
на инфо сайте ошибка , is_published = models.BooleanField(choices=tuple(map(lambda x: (bool(x[0]), x[1]), Status.choices)),
default=DRAFT, verbose_name="Статус")
это дальше по тексту