Size: a a a

Django [ru] #STAY HOME

2021 June 27

N

Nire in Django [ru] #STAY HOME
ну да, 200 строк это сложные вьюхи, обычно они 30-40 строк, но всё же есть, где жесткая логика
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
во-первых это служебный класс, который нужен для того, чтобы твои вьюхи не были 418 строк, во-вторых, джанго сам к сожалению не является воплощением всех бестпрактис, о чем не стоит забывать
источник

N

Nire in Django [ru] #STAY HOME
я писал это к тому, что вьюхи в 200 строк это вполне нормально, если считать еще как пишутся переносы по джанго стайлу
источник

N

Nire in Django [ru] #STAY HOME
blabla = [
1,
2,
3
]
воть так

для вьюсета это пример с описанием автодоки в actions с кучей полей
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
если это вьюсет + докстринги + декораторы для кастомных экшнов и сваггера, то файл может быть объемным, но бизнес-логики там быть не должно
источник

N

Nire in Django [ru] #STAY HOME
ну смотря, что значит "бизнес логика", возможно мы о разном говорим
источник

N

Nire in Django [ru] #STAY HOME
я пишу про "бизнес логику вьюхи"
источник

N

Nire in Django [ru] #STAY HOME
т.е. чтобы все методы для работы класса вьюхи могли быть внутри её (помимо тулзов и стандартной либы)
источник

N

Nire in Django [ru] #STAY HOME
да и мне легче так работать, с пучармом и тулзой структуры слева очень удобно по методам класса бегать
источник

Dk

Dn't kill yurself in Django [ru] #STAY HOME
Здравствуйте
Как я могу преобразовать name чтобы он показывал имя

Мой код когда создаю

   def create(self, validated_data):
       author, created = Author.objects.get_or_create(name=validated_data['author'])
       print(author)
       post = Post.objects.create(
           title=validated_data['title'],
           link=validated_data['link'],
           author=author
       )
       return post
источник

N

Nire in Django [ru] #STAY HOME
author в сериализатор пихни
источник

N

Nire in Django [ru] #STAY HOME
AuthorSerializer(author).data
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
класс вьюхи состоит из конкретных встроенных методов, если ты расширяешь класс новыми методами (я не про кастомные экшны) - делаешь миксин, есть переиспользуемые проверки, фильтрации и тп - выносишь в отдельную функцию и кидаешь в сервисы. Иногда кастомизируешь менеджер
источник

DN

Damir Nafikov in Django [ru] #STAY HOME
всем привет)
ребят, поделитесь, пожалуйста, своими любимыми либами для ваших проектов на Джанго)
источник

N

Nire in Django [ru] #STAY HOME
corsheaders, django-filters, иногда drf
источник

N

Nire in Django [ru] #STAY HOME
остальное не "любимое", а "когда надо, тогда впихну"
источник

N

Nire in Django [ru] #STAY HOME
т.е. тот же psycopg2 это вынужденно)
источник

DN

Damir Nafikov in Django [ru] #STAY HOME
а есть какие-нибудь советы по архитектурам?
я вот на работе часто вижу, что хотелось бы как-то иначе слои логик сделать, типо DDD, cqrs вот что-то еще есть, но в них только начинаю погружаться, очень хочу выделить отдельно логирование, "события" и действия пользователя
также особенно волнует вопрос: что я могу чего-то не знать, может, есть какой-то список тем, которые поднимают проблемы при разработке на уровне профи?
источник

DN

Damir Nafikov in Django [ru] #STAY HOME
это да, свагер еще есть, mtpp вот недавно зырнул, крутая вещь)
источник

Dk

Dn't kill yurself in Django [ru] #STAY HOME
class AuthorSerializer(ModelSerializer):
   class Meta:
       model = Author
       fields = ('name',)

переопределил serializer вот так
   author = AuthorSerializer().data
но
теперь показывает id
источник