Skip to content

Latest commit

 

History

History
73 lines (63 loc) · 2.51 KB

codestyle.md

File metadata and controls

73 lines (63 loc) · 2.51 KB

Общие правила

  1. Придерживаемся black style
  2. f-строки предпочтительнее функции или выражений форматирования:
    Т.е. так плохо
    def __str__(self):
        return "{} {}".format(self.name, self.type)
    Так хорошо
    def __str__(self):
         return f"{self.name} - {self.type}"
  3. По возможности используем кортежи вместо списков. Кортеж - неизменяемый объект. Вот тут про различия Т.е. так не нужно
    filterset_fields = ["year"]
    
    Лучше так
    filterset_fields = ("year",)
    

Правила для моделей

  1. Если хотя бы одно одно описание поля не помещается на одну строку, то для всех атрибутов полей используйте выделенную строку.
    T.e так плохо
    first_field = models.ForeignKey(Person, on_delete=models.PROTECT)
    second_field = models.CharField(
        max_length=200,
        unique=True,
    )
    Так хорошо
    first_field = models.ForeignKey(
        Person,
        on_delete=models.PROTECT,
    )
    second_field = models.CharField(
        max_length=200,
        unique=True,
    )
  2. У модели всегда должен присутствовать метод __str__
  3. У каждой модели должно быть verbose_name и verbose_name_plural

Правила для регистрации моделей в админке

  1. Для регистрации моделей в админке используем декоратор (документация)
    T.e так плохо
    from django.contrib import admin
    from .models import Author
    
    
    class AuthorAdmin(admin.ModelAdmin):
        pass
    
    admin.site.register(Author, AuthorAdmin)
    Так хорошо
    from django.contrib import admin
    from .models import Author
    
    
    @admin.register(Author)
    class AuthorAdmin(admin.ModelAdmin):
        pass