Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

АПИ для креш-курса на python #1

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

VVStanley
Copy link

Создал пользователей(сотрудников) и организации, для организаций написал небольшое апи на drf
документацию можно посмотреть по /swagger

@@ -0,0 +1,12 @@
[flake8]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давай добавил в README.md блок с описанием вспомогательных вещей, типо вот линтер, он нужен для того-то того-то, вот так его можно запустить, а вот в этой файле он конфигурируется. И пример как его запустить. И аналогично для mypy.

requirements.txt Outdated
@@ -0,0 +1,14 @@
django
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давай зафиксируем версии, чтобы код всегда был актуальный, а то через 10 лет поставим django 28 версии)

# Database
# https://docs.djangoproject.com/en/4.2/ref/settings/#databases

DATABASES = {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Предлагаю для этого проекта использовать sqlite, тогда не нужно будет ничего отдельно поднимать, ни докер ни базу. Кажется для учебного проекта это норм.

users/models.py Outdated
db_table = "role_operations"

role = models.CharField(max_length=30, choices=Roles.choices, default=Roles.USER)
operations = ArrayField(models.CharField(max_length=30, choices=Operations.choices))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ArrayField надо будет заменить при переходе на sqlite



if __name__ == "__main__":
main()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

После того как поправишь эти штуки, давай знаешь как сделаем, поместим этот проект в текущем виде в папку solved, как эталонное решение. Потом конечно его ещё будет допиливать, но пока так.
В итоге в проекте будут 2 папки (task и solved) и файл README.md

В папке task нужно сделать только первое задание с примером. Например можно вот как:
сделать API с получением одной организации по id (GET запрос) а в задании попросить пользователя сделать тоже самое для сотрудника (тоже GET запрос по id). А всё остальное пока убрать чтобы не смущало, лишние поля, сваггер, может даже сделать это без DRF, а в стандартной джанге без всяких серриалайзеров и т.д. А дальше будет постепенно усложнять.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants