• Как вывести потомков в django?

    @deliro
    Несмотря на уже отмеченное решение, я всё-таки рискну показать нормальное и лаконичное решение, как должно быть.
    Во-первых, related_name заюзано неверно (вы понимаете его смысл?). Переименуйте его в 'subordinates' или вообще удалите (будет 'person_set').
    В этом случае, непосредственных подчинённых выводить нужно так:
    person.subordinates.all()  # - все подчинённые
    person.subordinates.filter(first_name='Иван')  # - подчинённые с настоящим русским именем
    Ответ написан
    1 комментарий
  • Как вывести потомков в django?

    @reb00ter
    Django developer
    вот примерно так на мой взгляд
    chiefs_by = Person.objects.filter(chief_id=person.id)

    PS: только на мой взгляд получается очень странная структура данных. Персона может быть в нескольких подразделениях, на нескольких должностях, причём отдел и должность не связаны никак. но при этом под руководством только одной другой персоны.
    По-моему логичнее делать что-то вроде
    class Person(...):
      ...
      department = models.ManyToManyField('Department', verbose_name='подразделение', throught='PersonInDepartment')
    
    class Department(..):
      chief = models.ForeignKeyField(Person,....)
      ...
    
    class PersonInDepartment(...):
       person = ForeignKey
       department = ForeignKey
       position = ForeignKey
    Ответ написан
    Комментировать
  • Можно ли сделать такую авторизацию в nginx?

    BuriK666
    @BuriK666 Куратор тега Nginx
    Компьютерный псих
    server {
            liseten example.org:80;
            server_name example.org;
            allow 127.0.0.1;
            deny all;
            error_page 403 https://example.org/;
            #...
    }
    server {
            liseten example.org:443 ssl;
            server_name example.org;
            ssl_verify_client on;
            # и так далее....
    }
    Ответ написан
    Комментировать