Python


blog.udartsev.ru

Django 3+ ORM lookup classees

Доступные подклассы для выборки запросов типа:
"user_name__icontains"
"user_name__iregex"
"user_name__startswith"
django.db.models.query_utils :
  'contained_by':     <class 'django.contrib.postgres.fields.ranges.RangeContainedBy'>,
  'gte':              <class 'django.db.models.lookups.IntegerGreaterThanOrEqual'>,
  'lt':               <class 'django.db.models.lookups.IntegerLessThan'>,
  'contains':         <class 'django.db.models.lookups.Contains'>,
  'endswith':         <class 'django.db.models.lookups.EndsWith'>,
  'exact':            <class 'django.db.models.lookups.Exact'>,
  'gt':               <class 'django.db.models.lookups.GreaterThan'>,
  'gte':              <class 'django.db.models.lookups.GreaterThanOrEqual'>,
  'icontains':        <class 'django.db.models.lookups.IContains'>,
  'iendswith':        <class 'django.db.models.lookups.IEndsWith'>,
  'iexact':           <class 'django.db.models.lookups.IExact'>,
  'in':               <class 'django.db.models.lookups.In'>,
  'iregex':           <class 'django.db.models.lookups.IRegex'>,
  'isnull':           <class 'django.db.models.lookups.IsNull'>,
  'istartswith':      <class 'django.db.models.lookups.IStartsWith'>,
  'lt':               <class 'django.db.models.lookups.LessThan'>,
  'lte':              <class 'django.db.models.lookups.LessThanOrEqual'>,
  'range':            <class 'django.db.models.lookups.Range'>,
  'regex':            <class 'django.db.models.lookups.Regex'>,
  'startswith':       <class 'django.db.models.lookups.StartsWith'>,

SublimeText3 plugins

https://sublime-text.zeef.com/zeefcom

Anaconda config:

{ "pep8_ignore": [
    "E501",
    "E402",
    "UnusedImport",
    "W291",
    "E722",
  "E111"
    ] ,
  "pyflakes_explicit_ignore": [
    "UnusedImport",
    ],
  "auto_formatting": true,
  "autoformat_ignore":
    [
        "E309",
        "E501",        
    ],
  "auto_complete": true,
  "auto_complete_commit_on_tab": true,
}

Remove commented lines from .py code files

1. Create clear.sh file with:

#!/bin/sh
FILES=$(find . -name "*.py" -not -path "./env/*")
for FILE in $FILES
    do
        sed '/""".*"""/d;s/#.*$//;s/^\n$/\n/' $FILE > temp.txt && mv temp.txt $FILE
        echo "Processed file: $FILE"
    done
exit 0

2. Copy in in /your_project_root_foder/ and run:

    sh clear.sh

DJANGO clean run

1) Install requirements.txt

pip install -r requirements.txt
(same: cat requirements.txt | xargs -n 1 pip install)

2) Create migrations:

python manage.py makemigrations
python manage.py migrate

3) Make seeds:

python manage.py seed all
python manage.py seed all --refresh

Superuser:

admin
admin (or `SUPERUSER_PASS={password}` in env)

Django template error fix:

first install: pip install django==2.2 then install: pip install django==3.0.2

Installing ENV (linux):

sudo apt install python3.8-venv
python3.8 -m pip install --user --upgrade pip
python3.8 -m pip install --user virtualenv
python3.8 -m venv env
source env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
pip install --upgrade -r requirements.txt  # upgrade all packages
deactivate

Update ENV and requirements.txt (linux)

pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
pip freeze > requirements.txt

pip install pipupgrade
pipupgrade --verbose --latest --yes
pip freeze > requirements.txt

LINUX BASH

1) Deletes all DJANGO migrations:

cd {django-project-folder}/
find . -path "*/migrations/*.py" -not -name "__init__.py" -not -path "*/geodata/*" -delete
find . -path "*/migrations/*.pyc" -not -path "*/geodata/*" -delete

CELERY ON LOCALHOST

celery -A dobro_backend worker --loglevel=DEBUG

REDIS RESVER 6+

sudo add-apt-repository ppa:chris-lea/redis-server
sudo apt-get update
sudo apt-get install redis-server

ERRORS:

https://github.com/django/daphne/issues/262 https://stackoverflow.com/questions/55916808/django-channels-reader-at-end-of-file-exception