ptyhon,Djangoの初心者です。
表題の件の通りどういった条件でjoinしているのかわかりません。
どなたか教えていただけると幸いです。
下記のサイトを参考に学習しています。
■https://djangobrothers.com/tutorials/photo_app/foreignkey/
コードは下記の通りです。
from django.db import models from django.contrib.auth.models import User class Category(models.Model): title = models.CharField(max_length=20) def __str__(self): return self.title class Photo(models.Model): title = models.CharField(max_length=150) comment = models.TextField(blank=True) image = models.ImageField(upload_to = 'photos') category = models.ForeignKey(Category, on_delete=models.PROTECT)#ForeignKey user = models.ForeignKey(User, on_delete=models.CASCADE)#ForeignKey created_at = models.DateTimeField(auto_now=True) def __str__(self): return self.title
Category,User,Photoのテーブルがそれぞれあり、
『1』対『多』の『多』の方に外部キーを持たせると書籍にありました。
上記の場合Photoのクラスに『ForeignKey』を持たせ、ForeignKeyの第一引数に
結合したいテーブル名を記載するという認識です。
Join User またはJoin Category は Foreignkey(User,...) や Foreignkey(Category,...)
にあたると認識しているのですが、join文で言う 『... ON ????』の????にあたるキーはどこで指定しているのでしょうか。
結合するテーブルを指定した後、どのような条件でjoinしているのかわかりません。
onに代わる記述がどこかにあればイメージがわくのかもしれませんが...
どなたかご回答いただけると助かります。
よろしくお願いいたします。
※追記
例えばですが『ForeignKey 外部キー』で検索すると下記のサイトなど出てきますが。
■https://qiita.com/SLEAZOIDS/items/d6fb9c2d131c3fdd1387
FOREIGN KEY (department_id)・・・どのカラムにキーを制約つけるのか(参照元) REFERENCES departments (department_id)・・・どのテーブルのどのカラムを参照するか
などカラムの参照条件があります。
djangoの場合この条件をどこで設定しているのでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/15 00:53
2019/08/15 01:17
2019/08/15 01:46
2019/08/15 01:47
2019/08/15 01:50
2019/08/15 01:55