Есть джанго проект и ещё один сторонний апп который лежит в той же директории, мне надо в тот апп експортнуть настройки джанго, как это можно сделать?

|
AndyBagrov 2022-07-02 23:16:17
someonecoding 2022-07-02 23:01:14
Привет, есть джанго проект и ещё один сторонний апп который лежит в той же директории, мне надо в тот апп експортнуть настройки джанго, как это можно сделать?
Если конкретнее то надо что бы заработал извне from django.contrib.auth.password_validation import validate_password

Попробуй тут глянуть, это тебе нужно?
https://stackoverflow.com/questions/26517464/run-a-different-django-projects-database-script-from-a-separate-django-project

Run a different Django project’s database script from a separate Django project’s scriptStack Overflow
I have 2 completely separate databases that run in completely different Django projects. In one project, there is a script which analyzes the data and outputs the results as a CSV. In another project
AndyBagrov 2022-07-02 23:17:35
Или это https://stackoverflow.com/questions/16853649/how-to-execute-a-python-script-from-the-django-shell

How to execute a Python script from the Django shell?Stack Overflow
I need to execute a Python script from the Django shell. I tried:

./manage.py shell << my_script.py
But it didn’t work. It was just waiting for me to write something.

LUBASKIN_CODE 2022-07-02 23:58:46
господи
LUBASKIN_CODE 2022-07-02 23:59:07
попробовав связку Alchemy и Alembic я понял что у джанго лучшая ОРМ и система миграций
idandrey 2022-07-02 23:59:46
Ахахпх
idandrey 2022-07-02 23:59:58
Как же ты ошибаешься
AndyBagrov 2022-07-03 00:07:22
LUBASKIN_CODE 2022-07-02 23:59:07
попробовав связку Alchemy и Alembic я понял что у джанго лучшая ОРМ и система миграций

Лучшая потому что в коробке уже что ли или типа настраивать не надо?)
Когда с огромным количеством запросов начнешь работать, думаю подругому скажешь…и будешь на чистом sql писать)

LUBASKIN_CODE 2022-07-03 00:07:34
idandrey 2022-07-02 23:59:58
Как же ты ошибаешься

почему

LUBASKIN_CODE 2022-07-03 00:07:48
AndyBagrov 2022-07-03 00:07:22
Лучшая потому что в коробке уже что ли или типа настраивать не надо?)
Когда с огромным количеством запросов начнешь работать, думаю подругому скажешь…и будешь на чистом sql писать)

так я тебе за ОРМ а ты мне за Raw sql

idandrey 2022-07-03 00:08:13
LUBASKIN_CODE 2022-07-03 00:07:34
почему

Алхимия более явная

AndyBagrov 2022-07-03 00:08:29
Raw это не чистый sql…execute
idandrey 2022-07-03 00:09:16
И да, много в ормке Джанго нет
AndyBagrov 2022-07-03 00:09:17
Хотя, если про orm, то ладно
LUBASKIN_CODE 2022-07-03 00:09:17
idandrey 2022-07-03 00:08:13
Алхимия более явная

да, но мне почему то нравится высокий уровень абстракции ORM Django

idandrey 2022-07-03 00:09:39
Цтешек вроде до сих пор не завезли
LUBASKIN_CODE 2022-07-03 00:09:53
AndyBagrov 2022-07-03 00:08:29
Raw это не чистый sql…execute

pydjango-738991.jpg

idandrey 2022-07-03 00:11:01
idandrey 2022-07-03 00:09:39
Цтешек вроде до сих пор не завезли

Да, так и есть

https://code.djangoproject.com/ticket/28919

AndyBagrov 2022-07-03 00:13:27
LUBASKIN_CODE 2022-07-03 00:09:53

Это все еще уровень модели, а если напрямую обращаться…то только через execute

idandrey 2022-07-03 00:13:40
Ладно хоть оконные есть

https://docs.djangoproject.com/en/4.0/ref/models/expressions/#django.db.models.expressions.Window

idandrey 2022-07-03 00:14:20
И я ещё молчу про всякие check constraint например
someonecoding 2022-07-03 00:26:57
AndyBagrov 2022-07-02 23:16:17
Попробуй тут глянуть, это тебе нужно?
https://stackoverflow.com/questions/26517464/run-a-different-django-projects-database-script-from-a-separate-django-project

мне надо валидировать инпут с тг бота джанговским валидатором

NikolayCherniy 2022-07-03 07:33:18
LUBASKIN_CODE 2022-07-02 23:59:07
попробовав связку Alchemy и Alembic я понял что у джанго лучшая ОРМ и система миграций

Если бы ты все это время сидел на алхимии, а потом переключился на джанго орм — тоже бы плевался)))

NikolayCherniy 2022-07-03 07:35:57
LUBASKIN_CODE 2022-07-03 00:07:34
почему

Быстрее, гибче, больше функционала и асинхронность, ну и не прибита гвоздями к другому фреймворку))
Но безусловно многословней и сложней для изучения и восприятия.

nonverbis 2022-07-03 08:30:42
pydjango-738999.jpg
#вопрос

Если для текстовых полей сделать дефолтные значения, но объявить уникальность, то при денормализованной базе начинается крик.

Надо сделать так, чтобы если кто-то что-то вводит, то идет проверка уникальности. Но если никто ничего не вводил, то и не надо ничего.

Это мне надо самому проверки делать в каждом конерктном случае?

Nire1 2022-07-03 08:36:49
nonverbis 2022-07-03 08:30:42
#вопрос

Если для текстовых полей сделать дефолтные значения, но объявить уникальность, то при денормализованной базе начинается крик.

Надо сделать так, чтобы если кто-то что-то вводит, то идет проверка уникальности. Но если никто ничего не вводил, то и не надо ничего.

Это мне надо самому проверки делать в каждом конерктном случае?

Пустая строка тоже уникальная, null попробуй

nonverbis 2022-07-03 08:37:03
Nire1 2022-07-03 08:36:49
Пустая строка тоже уникальная, null попробуй

нул — не по феншую.

Nire1 2022-07-03 08:38:31
nonverbis 2022-07-03 08:37:03
нул — не по феншую.

Констрейнт сделай тогда, без уникальности

nonverbis 2022-07-03 08:40:15
Nire1 2022-07-03 08:38:31
Констрейнт сделай тогда, без уникальности

а какой именно?

Nire1 2022-07-03 08:41:29
nonverbis 2022-07-03 08:40:15
а какой именно?

В доке к базе глянь как кастомные писать

nonverbis 2022-07-03 08:41:57
Nire1 2022-07-03 08:41:29
В доке к базе глянь как кастомные писать

да валидатор на до делать просто на каждое поле, мне кажется.

Nire1 2022-07-03 08:42:24
nonverbis 2022-07-03 08:41:57
да валидатор на до делать просто на каждое поле, мне кажется.

CREATE UNIQUE INDEX idx_unq_tab_email ON tab(email) WHERE TRIM(email) <> »;

Nire1 2022-07-03 08:42:34
Типа такого
nonverbis 2022-07-03 08:42:52
Nire1 2022-07-03 08:42:24
CREATE UNIQUE INDEX idx_unq_tab_email ON tab(email) WHERE TRIM(email) <> »;

А оно в админке джанго будет ругаться, если неуник вводишь?

Nire1 2022-07-03 08:43:25
nonverbis 2022-07-03 08:42:52
А оно в админке джанго будет ругаться, если неуник вводишь?

Нет, будет ошибка

nonverbis 2022-07-03 08:43:40
Nire1 2022-07-03 08:43:25
Нет, будет ошибка

Так и я про то же. Валидатор надо писать.

Nire1 2022-07-03 08:43:52
nonverbis 2022-07-03 08:43:40
Так и я про то же. Валидатор надо писать.

Делай как хочешь

Nire1 2022-07-03 08:44:25
Nire1 2022-07-03 08:36:49
Пустая строка тоже уникальная, null попробуй

В паре с unique для строк это нормальный вариант, че тебе не нравится, хз

nonverbis 2022-07-03 08:46:24
Nire1 2022-07-03 08:44:25
В паре с unique для строк это нормальный вариант, че тебе не нравится, хз

Так в админке надо выводить осмысленные сообщения. А ты предлагаешь — ну, я не очень представляю себе, как этим будут юзеры пользоваться.

Nire1 2022-07-03 08:48:20
nonverbis 2022-07-03 08:46:24
Так в админке надо выводить осмысленные сообщения. А ты предлагаешь — ну, я не очень представляю себе, как этим будут юзеры пользоваться.

Я тебе конкретно на твой вопрос ответ дал

Nire1 2022-07-03 08:49:16
Да и юзерам давать в админке копаться это уже реально «не по феншую»
nonverbis 2022-07-03 08:49:48
Nire1 2022-07-03 08:49:16
Да и юзерам давать в админке копаться это уже реально «не по феншую»

А кто у тебя в админке работает? Прогеры что-ли одни?

Nire1 2022-07-03 08:50:28
nonverbis 2022-07-03 08:49:48
А кто у тебя в админке работает? Прогеры что-ли одни?

Работают работники, staff по английский

nonverbis 2022-07-03 08:51:18
Nire1 2022-07-03 08:50:28
Работают работники, staff по английский

Ок ты стафу своему сообщения выводишь в админке?

Nire1 2022-07-03 08:51:51
nonverbis 2022-07-03 08:51:18
Ок ты стафу своему сообщения выводишь в админке?

Может хватит тупые вопросы задавать. Что ты конкретно хочешь?

nonverbis 2022-07-03 08:52:22
Nire1 2022-07-03 08:51:51
Может хватит тупые вопросы задавать. Что ты конкретно хочешь?

Послушай, это ты предложил решение, которое нельзя применить. Я тебе об этом сказал.

Nire1 2022-07-03 08:53:23
nonverbis 2022-07-03 08:52:22
Послушай, это ты предложил решение, которое нельзя применить. Я тебе об этом сказал.

То, что ты не умеешь обрабатывать ошибки, не значит, что решение не применимо

Nire1 2022-07-03 08:55:53
nonverbis 2022-07-03 08:30:42
#вопрос

Если для текстовых полей сделать дефолтные значения, но объявить уникальность, то при денормализованной базе начинается крик.

Надо сделать так, чтобы если кто-то что-то вводит, то идет проверка уникальности. Но если никто ничего не вводил, то и не надо ничего.

Это мне надо самому проверки делать в каждом конерктном случае?

Тут вообще все просто решается выносом перевода в отдельную таблицу и подключения её как инлайна

nonverbis 2022-07-03 08:58:11
Nire1 2022-07-03 08:42:24
CREATE UNIQUE INDEX idx_unq_tab_email ON tab(email) WHERE TRIM(email) <> »;

зачем такое надо? Вот хоть убей не понимаю.

ну, посуди сам — если поле не пустое, то кинуть индекс. этим вообще как-то можно пользоваться? да и зачем?

я хочу нормально видеть, какая у меня схема базы данных.

В постгресе: \d table_name

Не хочу я никак корежить базу данных динамически.

nonverbis 2022-07-03 09:00:50
Nire1 2022-07-03 08:55:53
Тут вообще все просто решается выносом перевода в отдельную таблицу и подключения её как инлайна

Вот это здравая мысль. Спасибо. Попробую.

NikolayCherniy 2022-07-03 09:23:29
nonverbis 2022-07-03 08:37:03
нул — не по феншую.

Не по феншую,зато работает) замечу что даже в доках разработчики указываю этот случай как приемлемый для null в строке.

|