Какой у меня уровень django разработчика?

вот мой репозиторий:

https://github.com/zuberok/wts

Терзает вопрос: Стал ли я миддлом?
  • Вопрос задан
  • 888 просмотров
Решения вопроса 1
@deliro
@property
    def wall(self):
        result = self.posts.all()
        for friend in self.friends.all():
            if not result:
                result = friend.posts.all()
            else:
                result = result | friend.posts.all()
        return result.order_by('-id')


Туда же.
И вот это:
ACCOUNT_SID = "**"
AUTH_TOKEN = "**"

client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN)
SENDER = '+14694252378'

Хотя, наверное, ты изменил токен. У меня он не заработал. А может, он просто неоплачен?

deposit_total = sum((x.total for x in _user.deposits.all()))
    outlays_total = sum((x.total for x in _user.outlays.all()))
    incomes_total = sum((x[0] for x in _user.tree_node1.cash_incomes)) if TN1.objects.filter(account__id=_user.id) else 0
    cashes_total = sum((x.total for x in _user.cashes.all()))
    income_transfers_total = sum((x.total for x in _user.income_transfers.all()))
    outcome_trasfers_total = sum((x.total for x in _user.outcome_transfers.all()))

Может, лучше использовать агрегацию? Если у тебя миллион записей, будешь все передавать в оперативку, а потом считать в питоне?

PARENT_PAYMENT = 50.0
GRANDPARENTS_PAYMENT = 100.0
LEVEL_REWARDS = (0.19, 0.17, 0.15, 0.13, 0.11, 0.09, 0.07, 0.05, 0.02, 0.01, 0.01)

В файле models.py
Обычно такое выносят в файл констант. Один на проект или на апп, зависит от разработчика, но константы там искать и править явно удобнее.

CBV предпочтительней обычных вьюх хотя бы потому, что не нужно городить вот это:
https://github.com/zuberok/wts/blob/master/project...

Полупустые аппы (типа apis или public c одиноким редиректом) - зачем?

Могу продолжить.

UPD:
Убрал токен.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
sim3x
@sim3x
Тестов нет
Настройки и внешние зависимости для продакшена и дева в одном файле
Код в страных файлах без описания и с кодом, который должен лежать в моделях

Ты хороший трейни
Джуны уже пишут тесты, хотя б юнит
Ответ написан
@kazmiruk
Я бы сказал, что нет. Из того, что бросилось при беглом просмотре кода - абсолютные пути в settings, несоблюдение pep8 (завершаюший отступ, длина строк. Я сам не считаю, что 80 символов это нормальное значение, но строка в 146 символов это слишком много, хотя бы 120). Нет ни одного теста, импорты выполнены в перемешку, каждый метод модели с декоратором property (не очень вникал в код, может и имеет смысл, но в таком количестве вряд ли), не используете CBV, хотя кое где это уместней, не понятно смысл создания целого аппа ради хранения одной функции в 1 строчку кода, есть явное непонимание того что и где содержится (Profile.objects.create(user=User.objects.get(id=request.user.id)), User.objects.get(id=request.user.id)), не понимание что какие запросы делают (sum([x.total for x in request.user.outlays.filter(type=2)])). Также не увидел нигде индексов, возможно они действительно и не нужны (по коду в основном везде выборки по PK и FK вроде). Нет try\catch для get блока хотя кое-где может плюнуть DoesNotExists (kwargs['inviter'] = User.objects.get(id=data['inviter']))
В общем много косяков.
А вообще, по такому коду трудно судить какого Вы уровня, так как в принципе ничего специфичного там нет, даже не знающий джангу напишет такое погуглив пару дней\часов.
Советую Вам ознакомиться с pep8 подробней + установить себе pep8 и\или pylint, прочитать хотя бы two scoops of django, попрактиковать написание тестов, изучить selenium. Без обид, но пока я бы Вас не взяли на миддла, так как много бы пришлось объяснять и менять за Вами.
Ответ написан
@some1else
Просто протыкал файлы, и большинство пустые файлы-болванки, видимо при генерации приложений хелпером, как в туториале :) Гора ненужных импортов в простейшем project/public/views.py. В общем, дальше уже было неинтересно смотреть...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы