Django3系のORMでSQLのEXISTS句を使う

この記事は、 JSL(日本システム技研) Advent Calendar 2020 - Qiita 12/3の記事です。 以前、SQLをDjangoのQuerySet APIでどう実装するのかを書きました。 SQLのSELECT文を、DjangoのQuerySet APIで書いてみた - メモ的な思考的な SQLのINSERT, UPDATE文を、…

PHPのDOMDocumentを使って、日本語を含むHTMLの一部分を文字列として生成する

PHP

うまいタイトルが思い浮かばなかったのですが、 コメント <hr> <div>ハロー <p>ワールド</p> </div> のようなものを、PHPのDOMDocumentを使って実現する時に悩んだので、メモに残します。 もし、他に良い方法があれば教えて頂けるとありがたいです。 目次 環境 悩んだ点と対応 タグ</hr>…

bootstrap-selectの1.13.8以前では、val()でoptionを選択した時のpreviousValueが取得できなかった

Bootstrapを使っている環境にて、select要素の見栄えを良くしたい場合、 bootstrap-select を使うことがあります。 snapappointments/bootstrap-select: The jQuery plugin that brings select elements into the 21st century with intuitive multiselectio…

django-datatables-viewによるServer-side processingで、DataTable向けのクエリパラメータを追加する

django-datatables-viewによるServer-side processingで、DataTable向けのクエリパラメータを追加しようと考えた時に詰まったことがあったため、メモを残します。 目次 環境 やりたいこと 対応 フロントエンド バックエンド ソースコード 環境 Python 3.8 Dj…

django-datatables-viewによるServer-side processingで、フォームの入力値に基づいてDataTableの絞り込みを行う

django-datatables-viewで、フォームの入力値に基づいてDataTableの絞り込みを行おうと考えた時に詰まったことがあったため、メモを残します。 目次 環境 DataTableのSearchについて やりたいこと 実装 フロントエンド バックエンド 参考:Search機能との連…

django-datatables-viewによるServer-side processingで、モデルの複数列を結合して表示する

django-datatables-viewで、モデルの複数列を結合して表示しようと考えた時に詰まったことがあったため、メモを残します。 目次 環境 やりたいこと エラーとなる方法 動作する方法 ソースコード 環境 Python 3.8 Django 3.1.2 django-datatables-view 1.19.1…

django-datatables-viewによるServer-side processingで、色々なソートを試してみた

ライブラリ django-datatables-view を使ってjQuery DataTableのServer Side Processing を行った際、ソートを実装することがありました。 ただ、ソートを実装しようとしたところ詰まったことがあったため、メモを残します。 目次 環境 ソートを意識しない時…

django-datatables-viewによるServer-side processingで、モデルの外部キーの項目を表示する

バックエンドがDjangoの環境にて、jQuery DataTable を使う機会がありました。 DataTables | Table plug-in for jQuery データ量がそれなりにあったので、DataTableのServer Side Processingを使いました。 DataTables example - Server-side processing Dja…

書籍「Rustで始めるネットワークプログラミング」を写経した

日頃Webアプリケーションを作成しているのですが、もう少し低レイヤのことを知りたくなりました。 コードを書きながら進めたほうが理解が早いだろうと思ったので、何か良い本がないかを調べたところ、書籍「Rustで始めるネットワークプログラミング」があり…

Rust + PyO3にて、自作のPythonモジュールをRustで実行する

RustからPythonのモジュールを使うときは、 PyO3 が便利です。 PyO3/pyo3: Rust bindings for the Python interpreter ただ、公式ドキュメントでは、Pythonの標準モジュールをimportして実行する方法は記載されていたものの、自作のPythonモジュールについて…

Django REST Framework + jQuery + S3で画像ファイルアップローダーを作った時のメモ

Django REST Framework + jQuery + S3で画像ファイルアップローダーを作る機会がありました。 その中で色々と考えたことをメモに残します。 なお、実装の詳細は以下となります。 thinkAmi-sandbox/image_uploader_by_drf_jquery_s3 目次 環境 仕様など 画面…

GitLabのプライベートリポジトリから複数人で使うサーバ上へgit pullする時に、deploy tokenを使ってみた

GitLabのプライベートリポジトリから複数人で使うサーバ上へgit pullする機会がありましたが、ちょっと悩んだためメモを残します。 目次 環境 困ったこと 対応 環境 GitLab.comのプライベートリポジトリ GitLabアカウントには2FA設定済 困ったこと そのサー…

Django REST FrameworkのDEFAULT_PARSER_CLASSESの初期値について

Django REST Frameworkでは、 DEFAULT_PARSER_CLASSES の設定により、グローバルで使われるParserが決まります。 Parsers - Django REST framework ただ、その初期値をうっかり忘れていたので、メモを残します。 目次 環境 うっかりしていたこと 動作確認 ア…

Djangoのmodels.ForeignKeyにおけるrelated_nameとrelated_query_nameについて調べてみた

最近、同僚の @qtatsu に「models.ForeignKeyのrelated_nameに + を指定すると逆引き不可にできる」ということを教わって、そういえばこのあたりを理解してないなと思って調べた時のメモです。 目次 環境 models.ForeignKeyにおけるrelated_nameについて rel…

Djangoのテンプレートで、includeテンプレートタグのwithで渡す値を国際化(i18n)対応する

Djangoのテンプレートにて、 {% include 'translation/parts.html' with value='tsugaru' %} と、分割した先のテンプレート parts.html に渡した文字列 tsugaru を国際化しようとした時に悩んだのでメモを残します。 目次 環境 Djangoテンプレートでの国際化…

Django REST Frameworkで、 django-rulesを使ってみた

前回、Djangoで django-rules を使ってみました。 django-rulesを使って、オブジェクトレベルの認可判定をViewとテンプレートでそれぞれ実装してみた - メモ的な思考的な READMEには、Django REST Framework(以降、DRF)でも、 django-rulesが使えるとの記述…

django-rulesを使って、オブジェクトレベルの認可判定をViewとテンプレートでそれぞれ実装してみた

Djangoには認可機能が標準で用意されています。 ただ、標準の認可機能の場合、モデルごとの認可判定は可能な一方で、オブジェクトごとの認可判定ができないようです。 Django のパーミッションフレームワークはオブジェクトパーミッション基盤を持っています…

Django + django-rules + 独自Userモデルで、has_permテンプレートタグを使うときの注意点

Djangoには標準で認可(Permission)の仕組みがあります。 ただ、Django標準の認可はモデルレベルです。オブジェクトレベルは Django のパーミッションフレームワークはオブジェクトパーミッション基盤を持っていますが、コアには実装されていません。 https:/…

Vue.js + vue-svg-loaderでSVGファイルを表示したところ、SVGファイルのidが消えたので対応した

Vue.jsでSVGファイルをVueコンポーネントとして扱う方法がないかを探したところ、 vue-svg-loader がありました。 visualfanatic/vue-svg-loader: 🔨 webpack loader that lets you use SVG files as Vue components 試しに <svg width="144" height="72" viewBox="0 0 144 72" xmlns="http://www.w3.org/2000/svg"> <g id="layer"> <title>rectangle</title> </g></svg>

Windows for Docker & docker composeにて、top-level volumes option で named volume を定義してPostgreSQLのデータを永続化する

WindowsでPostgreSQLを使って開発する際、コンテナを破棄してもデータが残るデータの永続化を考えました。 ただ、macと同じように version: '3' services: postgres: image: postgres:12.2-alpine tty: true restart: always volumes: # pgdataをホストに置…

Mac + C# + .NET Core3.1で、ActiveDirectoryのLDAP認証をしてみた

Macで .NET Core 3.1のアプリを開発する中、ユーザーがActiveDirectory (以降、AD)に参加していない環境で、ADサーバーを使ったLDAP認証をする機会があったため、メモを残します。 目次 環境 そもそも、なぜWindows認証ではないのか 準備 ソリューションとプ…

C# + AutoMapperで、ArrayListをオブジェクトへマッピングする

C#

AutoMapperを使うことで、オブジェクト同士を簡単にマッピングできます。 そんな中、ArrayListをオブジェクトへマッピングすることがあったため、対応したときのメモを残します。 目次 環境 ArrayListをオブジェクトへマッピング ListをListへマッピング 双…

ASP.NET Core 3.1 & Vue.js 上で、Handsontableを動かしてみた

ASP.NET Core 3.1 & Vue.js 上で、Handsontableを動かす機会があったため、メモを残します。 目次 環境 環境構築 ASP.NET Core 3.1向けのVue.jsプロジェクトテンプレートについて ASP.NET & Vue.jsの環境構築 テンプレートのインストール プロジェクトの作成…

EntityFramework Core 3.1で、int型やint?型のフィールドに対するIsRequired()の挙動を確認してみた

EntityFramework Core (以降、EF Core)では、テーブルのフィールドのNOT NULL制約を制御する方法の一つとして、Fluent APIがあります。 Entity Properties - EF Core | Microsoft Docs そんな中、フィールドの型が int と int? では、Fluent APIの挙動が異な…

C# で、「ジェネリッククラスを継承し、型引数付コンストラクタを持つクラス」を作成する

C# ではジェネリックを使って、型を引数として渡すことができます。 ジェネリック - C# によるプログラミング入門 | ++C++; // 未確認飛行 C そんな中、「ジェネリッククラスを継承し、型引数付コンストラクタを持つクラス」を作成する機会があったので、メ…

EntityFramework Core 3.1で、ClientSetNullの挙動を確認してみた

EntityFramework Core(以降、EF Core)の外部キーの ON DELETE について調べたところ、 ClientSetNull の存在を知りました。 連鎖削除 - EF Core | Microsoft Docs いつからこのような設定があるのか調べたところ、EF Core 2.0から導入されたようです。 EF Co…

2019年の振り返りと2020年の目標

例年通り、2019年の振り返りと2020年の目標っぽいものを書いてみます。 2019年の振り返り 2018年の振り返りと2019年の目標 - メモ的な思考的な で立てた目標を振り返ってみます。 Pythonをベースに、いろいろな分野の素振り 仕事でPython以外の言語にもふれ…

Handsontable 7.3.0で、オブジェクト配列を使ったloadData()が動作しない

グリッドライブラリの Handsontable では、 loadData() を使ってグリッドのデータを更新できます。 https://handsontable.com/docs/7.3.0/Core.html#loadData ただ、手元で試したたところ動作しないことがあったため、メモを残しておきます。 目次 環境 現象…

EntityFramework Core 3.1 にて、null許容参照型機能の有効・無効ごとに、NOT NULL制約の状況を確認してみた

EntityFramework Core (以降、EF Core)のドキュメントを見ていたところ、C#8.0以降のnull許容参照型機能により、NOT NULL制約の付き方が変わるようでした。 必須およびオプションのプロパティ-EF Core | Microsoft Docs そこで今回、null許容参照型機能の有…

EntityFramework Core 3.1 を使って、色々な一対多のリレーションを試してみた

前回、EntityFramework Core (以下EF Core)を使って、一対多のリレーションがあるデータを作成してみました。 ASP .NET Core 3.1 + EntityFramework Core を使って、一対多のリレーションがあるデータをレスポンスしてみた - メモ的な思考的な そんな中、公…